У меня есть таблица из 200 тыс. Записей со столбцами INT.Я хочу создать индекс, чтобы сделать запросы быстрее.Это запрос, который я хотел бы выполнить: SELECT A,B,C,D,E FROM table WHERE A=23 and (B=45 or C=43)
.Я создал следующие индексы: B
, ACD
, C
, ABC
.
С помощью команды EXPLAIN
я обнаружил, что MySQL выбирает индекс ACD
.Поэтому я продолжал заполнять таблицу большим количеством значений и понял, что MySQL переключался между указанными выше индексами (не всегда одинаковыми).
Поскольку существует много вставок, наличие различных индексов приведет к проблемам с производительностью, и мы можемПредположим, что к этой таблице обращаются другие запросы, которым требуются разные столбцы, где каждый индекс имеет смысл.
Мне известно о USE INDEX()
, но я хотел бы понять, стоит ли доверять MySQL для выбора правильного индекса.