Один и тот же запрос в таблицу с 3млн строк
SELECT order_id, x as x1,y as y1, MAX(x) as x2, MAX(y) as y2 FROM `items` where order_id>0 group by order_id LIMIT 5000
выдает время выполнения:
для MyISAM (только первичный индекс) 0.11 сек
для MyISAM (только первичный индекс) 0.29 сек
для MyISAM (индексы по всем полям) 1.17 сек
UPD
для MyISAM при добавлении индекса по order_id запрос уменьшился с 0.11 сек до 0.0026 сек!!! полный провал MyISAM...
1 и 2 запросы не используют индексы. Key = null Вы строите рабочие , но некорректные запросы с точки зрения SQL (работает в вашем случае потому что это MySQL , видимо запущенный по умолчанию в нестрогом режиме). Если вы хотите сравнить производительность, то уберите GROUP BY для начала и в Where используйте только колонку с первичным индексом. По факту ваш текущий тест не показывает ровным счетом ничего. GROUP BY сверх того еще использует дополнительные индексы оптимизации, о которых можно почитать в литературе (loose index scan)
Учите теорию!
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Использую django с python3При pip install mysql-python выдает ошибку: Command "python setup
В таблице строки сгенерированы изначально (список пин-кодов) и далее только обновляются два поля: статус status (с 0 на 1 и обратно) и поле номер...
Сложно мне изменить класс, опыта малоКак бы добавить в Medoo возможность обновлять данные через ON DUPLICATE KEY UPDATE