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