Разрушает ли мое приложение создание кластеризованного индекса

Я использую советник по настройке базы данных SQL Server 2008 R2 для настройки одной базы данных, используемой сторонней ERP-системой. На данный момент это ERP-приложение имеет серьезные проблемы с производительностью при выполнении определенных действий пользователями.

Я использовал профили SQL Server для отслеживания их производственной базы данных в течение нескольких часов в напряженное время суток. Прошлой ночью я дал советнику по настройке базы данных разжечь трассу, и он дал много рекомендаций и обещал увеличение производительности на 89%!!

Итак, теперь я понимаю, что из рекомендаций я должен сначала создать рекомендованные кластерные и уникальные индексы, а затем повторить трассировку и настройку.

Возможно ли, что при создании кластерного индекса я как-то нарушу функциональность приложения?

2 ответа

Решение

Возможно ли, что при создании кластерного индекса я как-то нарушу функциональность приложения?

Нет, создание КЛАСТЕРНОГО ИНДЕКСА / УНИКАЛЬНОГО ИНДЕКСА, безусловно, не сломает ваше приложение с функциональной точки зрения, так как это может быть полезно во время поиска, когда к индексу обращаются вместо индексации таблицы. Они не накладывают никаких ограничений на то, как данные должны храниться в таблицах, такие как ограничения целостности (PRIMARY KEY, UNIQUE KEY, FOREIGN KEY и т. Д.,).

Кластерный индекс может ухудшить производительность приложения в случае обновления и вставить новые записи. Кластерный индекс указывает SQL размещать записи в порядке, определенном в кластерном индексе.

Если новые записи нарушат этот порядок, SQL должен переместить много записей в таблице, чтобы обеспечить порядок кластеризованного индекса для каждой новой записи.

Другие вопросы по тегам