Никакие индексы не отстой, но вы должны обратить внимание на то, как вы их используете, или они могут негативно сказаться на производительности ваших запросов.
Первый: схема / дизайн
Зачем вам создавать таблицу только с одним столбцом? Это, вероятно, делает нормализацию на шаг впереди. Проектирование базы данных - одна из самых важных вещей, которую следует учитывать при оптимизации производительности
Второе: индексы
В двух словах, индексы помогут базе данных выполнить двоичный поиск вашей записи. Без индекса по столбцу (или по множеству столбцов) база данных часто возвращается к просмотру таблицы. Сканирование таблицы очень дорого, потому что включает в себя перечисление каждой записи.
Для сканирования индекса не имеет большого значения, сколько записей в таблице базы данных. Из-за (сбалансированного) поиска в двоичном дереве удвоение количества записей приведет только к одному дополнительному этапу поиска.
Определите первичный ключ вашей таблицы, SQL автоматически поместит кластерный индекс в этот столбец (столбцы). Кластерные индексы работают очень хорошо. Кроме того, вы можете размещать некластеризованные индексы в столбцах, которые часто используются в инструкциях SELECT, JOIN, WHERE, GROUP BY и ORDER BY. Помните, что индексы имеют определенное перекрытие, старайтесь никогда не включать ваш кластеризованный индекс в некластеризованный индекс.
Также интересным может быть коэффициент заполнения индексов. Хотите оптимизировать таблицу для чтения (высокий коэффициент заполнения - меньше места для хранения, меньше операций ввода-вывода) или для записей (низкий коэффициент заполнения - больше места для хранения, меньше перестроения страниц базы данных).
Третье: разбиение
Одной из причин использования секционирования является оптимизация доступа к данным. Допустим, у вас есть 1 миллион записей, из которых 500 000 записей больше не актуальны, но хранятся в целях архивирования. В этом случае вы можете разделить таблицу и сохранить 500 000 старых записей в медленном хранилище, а остальные 500 000 записей - в быстром.
Для измерения это знать
Лучший способ понять, что происходит, - это измерить, что происходит с вашим процессором и компьютером. Microsoft SQL Server имеет некоторые инструменты, такие как профилировщик и планы выполнения в Management Studio, которые сообщат вам продолжительность вашего запроса, количество операций чтения / записи и использования процессора. Также план выполнения скажет вам, какие индексы или IF используются. К вашему удивлению вы можете увидеть сканы таблицы, хотя вы этого не ожидали.