Индексы
Основные тезисы:
1) Индексы ускоряют выборку данных из таблицы, но замедляют вставку новых данных.
2) При создании индексов стоит учитывать:
2.1) Как часто с данной таблицей будут производитсться операции чтения/записи.
2.2) Какие конкретно запросы будут выполняться. (по каким полям будет идти поиск: WHERE, JOIN)
3) Существуют также другие типы индексов, помимо кластеризованного и некластеризованного, которые являются более специфичными.
Кластеризованный индекс
Данный индекс напрямую определяет порядок строк в таблице.
При вставке новой записи в таблицу рассчитывается значение кластеризованного инекса для новой строки, на основе которого выполняется вставка в коллекцию строк. Для таблицы может быть только 1 кластерезованный индекс. Обычно совпадает с первичным ключом. В таблице может отсутствовать кластеризованного индекса (стоки в естественном порядке набора данных).
Нескластеризованный индекс
Не влияет на физический порядок строк. Используется для оптимизации выборки данных.
Вопросы
1) Оценка состояния индексов. Поддержка индексов в актуальном состоянии.
Каким способом можно измерить фрагментированность индекса
Каким образом можно вызвать перестроение индекса
Ссылки:
14 вопросов об индексах в SQL Server, которые вы стеснялись задать
https://habr.com/ru/post/247373/
Основы индексов в Microsoft SQL Server
https://info-comp.ru/programmirovanie/575-index-basics-in-ms-sql-server.html
Обслуживание индексов и статистик MS SQL Server
https://infostart.ru/public/256292/