Нужно ли индексировать столбец базы данных с номерами?
Предположим, что Боб заработал 107 баллов, Мэри - 105 баллов, а Джон - 105 баллов. Эти цифры могут измениться и не являются уникальными. Теперь я хочу запросить и проверить порядок, кто сверху, а кто снизу. Нужно ли индексировать тот столбец, который содержит точки?
2 ответа
Это зависит от используемой системы базы данных и размера (количества строк) таблицы.
Если таблица достаточно мала и вы используете, например, MSSQL, будет использоваться сканирование таблицы (вся таблица будет считана в память), а индекс будет относительно бесполезным.
Вообще говоря, да - поле должно быть проиндексировано, если это столбец, который вы будете использовать для выбора или сортировки данных.
Как очень общее правило, я рассматриваю индексирование столбцов, которые появляются в WHERE
или же ORDER BY
пункты часто выполняемых запросов.