Покрытие MySQL, составное и индекс столбца

В следующем запросе

SELECT  col1,col2
FROM    table1
WHERE   col3='value1'
  AND   col4='value2'

Если у меня есть 2 отдельных индекса, один на col3 , а другой - на col4 , Какой из них будет использоваться в этом запросе?

Я где-то читал, что для каждой таблицы в запросе используется только один индекс. Означает ли это, что запрос не может использовать оба индекса?

Во-вторых, если я создал составной индекс, используя оба col3 и col4 вместе, но использовал только ] col3 в предложении WHERE будет хуже для производительности? пример:

SELECT  col1,col2
FROM    table1
WHERE   col3='value1'

Наконец, лучше ли во всех случаях просто использовать покрывающие индексы? и отличается ли он между механизмами хранения MYISAM и innodb?

36
задан Songo 21 November 2011 в 14:28
поделиться