Добавление индекса для столбца date_publish
оптимизирует следующий простой запрос:
SELECT * FROM articles WHERE date_publish < $time
Однако, если вы измените запрос, например добавите предложение ORDER
к порядку по столбцу, отличному от date_publish
, для оптимизации запроса может потребоваться составной (многоколонный) индекс.
EDIT
Чтобы иметь возможность полностью использовать индекс, индекс «покрытия» должен включать все столбцы в предложениях WHERE
, JOIN
и ORDER
, обычно в таком порядке. Итак, если у вас есть диапазон в вашем предложении WHERE
для date_publish и ORDER BY
article_name, вы можете захотеть индексировать оба столбца (date_publish, article_name). Таким образом, MySQL может использовать индекс как для выбора, так и для сортировки.