Здравствуйте. Помогите понять.
Есть таблица tab: id(int) + col1(int) + col2(int) + col3(int) + col4(int)
у нее составной индекс COL :col1+col2+col3+col4
и вот такой запрос:
SELECT *
FROM tab
WHERE
col1 IN (1,6,9) AND
col2=54 AND
col3 IN (0,1) AND
col4=5
Правильно ли я понимаю, что здесь полностью используется индекс COL ? Несмотря на IN mysql просто еще раз обходит по индексу.
EXPLAIN вроде говорит что это так - Using index conditionи показывает точно число строк.
А вот если б было:
SELECT *
FROM tab
WHERE
col1>0 AND
col2=54 AND
col3 IN (0,1) AND
col4=5
то индекс бы не использовался после col1.
Так?