У меня есть таблица MySQL с ~ 17M строк, где я в конечном итоге выполняю множество запросов на агрегирование.Настроить лучший вариант выбора для MySQL
Для этого примера позволяет сказать, что у меня есть index_on_b
, index_on_c
, compound_index_on_a_b
, compound_index_on_a_c
я пытаюсь запустить запрос объяснить
EXPLAIN SELECT SUM(revenue) FROM table WHERE a = some_value AND b = other_value
И я считаю, что выбранный индекс index_on_b
, но когда я использую запрос подсказка
SELECT SUM(revenue) FROM table USE INDEX(compound_index_on_a_b)
Запрос выполняется быстрее. Могу ли я что-нибудь сделать в конфигурации MySQL, чтобы MySQL сначала выбрал составные индексы?
Просьба представить фактический 'SHOW CREATE TABLE' и' SELECT'. Там могут быть тонкие вещи, такие как несоответствия типа данных, мешающие. Также 'EXPLAIN SELECT ...' –