/ / Введення індексу в поле дати в MySQL - mysql, індексація, бази даних-індекси

Введення індексу в поле дати в MySQL - mysql, індексація, індекси баз даних

Чи буде якась реальна користь для мене, якщо введення індексів у поля дат, які в основному будуть використовуватися в запитах, використовуючи такі речі.

dateField < "var"

І

"var" BETWEEN dateField1 AND dateField2

Пошук робиться багато, але я ніколи не роблю прямого порівняння на них "=".

Відповіді:

16 за відповідь № 1

Так, звісно. Пошук у діапазоні виграє від індексу так само, як і пошук рівності.

Цитуючи з Посібник для MySQL :: Як MySQL використовує індекси:

Характеристики індексу B-дерева

Індекс B-дерева може використовуватися для порівняння стовпціву виразах, які використовують оператори =,>,> =, <, <= або BETWEEN. Індекс також може використовуватися для порівняння LIKE, якщо аргумент LIKE - це постійний рядок, який не починається з символу підстановки.

У деяких ситуаціях оптимізатор може вирішити не використовувати індекс, якщо діапазон виявиться занадто великим, оскільки сканування таблиці насправді може бути швидшим. Використовуйте EXPLAIN щоб побачити, які (якщо такі є) індекси будуть використані у вашому запиті.