MySQL. Создание индекса для запросов «ИЛИ»

У меня есть таблица из 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 выбор е правильный указатель.

14
задан dda 7 September 2012 в 15:53
поделиться