записей на, примерно 1Тб данных.
запрос к ней типа
select * from xxxx where a="bbbb" and b!="" order by c desc limit 1;
на полях a, b, c ключи
если a="bbbb" строк становится больше 5000 то, ключ на a не используется движком и выбирается ключ c для сортировки. и все значительно дольше начинает работать. Если указать force key(a) то запрос отрабатывается за 0.5 сек, если не управлять с помощью force key то запрос работает минуты.
Использование force key это нормальная практика?
Используйте эксплейн для выбора оптимального плана. И зачем *?
* - это просто для примера, в реальности там всего 2 поля выбераются
Ну так реальный запрос и ddl пишите с вопросом
analyze table делали?
Обсуждают сегодня