Разрушает ли мое приложение создание кластеризованного индекса
Я использую советник по настройке базы данных SQL Server 2008 R2 для настройки одной базы данных, используемой сторонней ERP-системой. На данный момент это ERP-приложение имеет серьезные проблемы с производительностью при выполнении определенных действий пользователями.
Я использовал профили SQL Server для отслеживания их производственной базы данных в течение нескольких часов в напряженное время суток. Прошлой ночью я дал советнику по настройке базы данных разжечь трассу, и он дал много рекомендаций и обещал увеличение производительности на 89%!!
Итак, теперь я понимаю, что из рекомендаций я должен сначала создать рекомендованные кластерные и уникальные индексы, а затем повторить трассировку и настройку.
Возможно ли, что при создании кластерного индекса я как-то нарушу функциональность приложения?
2 ответа
Возможно ли, что при создании кластерного индекса я как-то нарушу функциональность приложения?
Нет, создание КЛАСТЕРНОГО ИНДЕКСА / УНИКАЛЬНОГО ИНДЕКСА, безусловно, не сломает ваше приложение с функциональной точки зрения, так как это может быть полезно во время поиска, когда к индексу обращаются вместо индексации таблицы. Они не накладывают никаких ограничений на то, как данные должны храниться в таблицах, такие как ограничения целостности (PRIMARY KEY, UNIQUE KEY, FOREIGN KEY и т. Д.,).
Кластерный индекс может ухудшить производительность приложения в случае обновления и вставить новые записи. Кластерный индекс указывает SQL размещать записи в порядке, определенном в кластерном индексе.
Если новые записи нарушат этот порядок, SQL должен переместить много записей в таблице, чтобы обеспечить порядок кластеризованного индекса для каждой новой записи.