Делают ли составные индексы mysql некоторые другие индексы полностью избыточными?

Если у меня есть составной индекс по (a, b), я понимаю, что запросы, относящиеся только к 'a', будут по-прежнему использовать составной индекс (но не запросы, связанные с 'b')

Мой вопрос заключается в том, есть ли какая-либо веская причина иметь индекс с одним столбцом для 'a', если у меня есть индекс (a, b)? То, что я читал, казалось неясным относительно того, был ли индекс (a, b) полной заменой a или просто индексом «лучше, чем ничего».

Предполагается, что я выполняю фильтрацию как по a, так и по a, b. У меня есть таблица со слишком большим количеством индексов, что снижает производительность записи, и я хочу дважды проверить, прежде чем отбрасывать индексы, которые, как я уверен, не приносят никакой пользы.

Кроме того, этот ответ меняется в зависимости от того, использую ли я InnoDb или MyISAM? Речь идет о MyISAM, но большинство наших таблиц - это InnoDb.

5
задан Brian Deacon 16 February 2011 в 22:30
поделиться