Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / MySQL Новый топик    Ответить
 Философия о скорости MySQL. Любопытство. Сравнение. Развитие.  [new]
Андрей159
Member

Откуда: Трускавец
Сообщений: 1549
Всем привет.
С MySQL работаю только третий год. Основные действия выучил. До того работал 10 лет с MDB (Access). Там есть ограничения 2ГБ по базе, 255 полей максимум в одной таблице. Зато можно легко через конструкторы выучить азы SQL.
Хотел спросить о скорости.
Не понятно как взаимодействует PHP с MySQL в целом.
К примеру когда я программирую и удаленно через драйвер "MySQK ODBC 5.2 Unicode Driver" делаю запрос
SELECT * FROM Tbl

то если много таблица весит, может понадобиться даже 5 секунд

А если выбрать только нужные поля
SELECT p1, p2, p2 FROM Tbl

то процесс очень быстрый.

Создается впечатление что читается не одна строка таблицы, а сначала весь запрос (результат) целиком прилетает ко мне в буфер (теоретически судя по времени) а потом я читаю только строку. А в PHP как ?

2. По этой причине мне не понятно почему к примеру движок DLE разбил данные на две таблицы POST и POST_EXTRAS (там нет ничего отдельного). В таблице POST_EXTRAS есть такие дополнительные поля как: дата редактирования, количество просмотров и другие. Не ужели если бы эти две таблицы объединить в одну и пользоваться запросом
UPDATE КоличествоПросмотров=КоличествоПросмотров+1 FROM POST WHERE id=1

этот запрос разве будет медленней работать если в таблице много полей (если там много текстовой информации)?
Просто не пойму зачем тогда их разъединили чтоб потом тратить время на соединения типу JOIN которые ну точно не будут быстрей. Или в MySQL особая магия на этот счет ?
Спасибо.
2 окт 17, 23:06    [20837633]     Ответить | Цитировать Сообщить модератору
 Re: Философия о скорости MySQL. Любопытство. Сравнение. Развитие.  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 16311
Андрей159
Создается впечатление что читается не одна строка таблицы, а сначала весь запрос (результат) целиком прилетает ко мне в буфер (теоретически судя по времени) а потом я читаю только строку.
Нет, запрос сначала буферизуется на сервере.
Андрей159
не понятно почему к примеру движок DLE разбил данные на две таблицы POST и POST_EXTRAS
Компактная таблица быстрее обрабатывается. И, вероятно, у тебя полный швах с индексами...
2 окт 17, 23:33    [20837670]     Ответить | Цитировать Сообщить модератору
 Re: Философия о скорости MySQL. Любопытство. Сравнение. Развитие.  [new]
netwind
Member [заблокирован]

Откуда:
Сообщений: 14267
Андрей159
В
Создается впечатление что читается не одна строка таблицы, а сначала весь запрос (результат) целиком прилетает ко мне в буфер (теоретически судя по времени) а потом я читаю только строку. А в PHP как ?

Так и есть.
Подробности
http://php.net/manual/ru/mysqlinfo.concepts.buffering.php
5 окт 17, 20:41    [20846475]     Ответить | Цитировать Сообщить модератору
Все форумы / MySQL Ответить