Требования: Если существует таблица с десятками миллионов данных, необходимо добавить неагрегированный индекс для повышения эффективности запросов, но база данных уже работает в производственной среде, и многие приложения выполняют операции добавления, удаления, изменения и запросов в таблице, что также означает, что над таблицей выполняются операции нескольких потоков. Если вы используете оператор сложения индекса прямо на таблице, это приведёт к аномалиям выполнения программы в производственной среде, например, блокировки и тайм-ауты выполнения.
Обычный SQL-оператор для добавления некластерного индекса выглядит следующим образом:
Оператор SQL, оптимизированный для безопасности, для добавления некластерных индексов, выглядит следующим образом:
Интерпретация:
ONLINE = ON Роль: Позволяет пользователям запрашивать, вставлять, обновлять и удалять таблицы (то есть «онлайн» операции) во время создания индекса, поддерживается только Enterprise Edition. SORT_IN_TEMPDB = Функция ON: Перенесите «временные данные сортировки», необходимые для создания и восстановления индекса, из вашей бизнес-базы данных в tempdb, а не в бизнес-базу, над которой я работаю. MAXDOP = 4 Роль: Задаёт MAXDOP для ограничения параллелизма, чтобы он не занимал все планировщики, то есть ограничивая операцию индекса параллельной работой с до 4 ядра процессора (потоков).
Ссылка:
Вход по гиперссылке виден.
Вход по гиперссылке виден. |