У меня есть запрос к моей базе данных как таковой:
SELECT * FROM expenses WHERE user_id = ? AND dated_on = ?
Я добавил индекс в таблицу для столбцов user_id
и dated_on
. Когда я проверяю индексы с помощью SHOW INDEXES FROM expenses
, появляются две строки - одна со значением seq_in_index
, равным 1, другая со значением seq_in_index
, равным 2.
У меня вопрос, если я затем отправлю запрос, который использует только одно из двух предложений WHERE, например ::
SELECT * FROM expenses WHERE user_id = ?
Есть ли какое-либо преимущество в создании другого индекса, который индексирует только столбец user_id
, или же описанный выше индекс user_id
/ dated_on
будет использоваться так же эффективно?
Наконец, как насчет использования запроса:
SELECT * FROM expenses WHERE dated_on = ?
Как значение seq_in_index
2 влияет на использование индекса и производительность в этой ситуации?