2012-04-21 3 views
1

Какова должна быть стратегия индекса, которую следует выполнять при создании новой базы данных и/или таблиц. Поскольку у меня не будет никаких пользовательских запросов к анализу или требований, чтобы найти, какой столбец используется в основном. Какова должна быть моя индексная стратегия/(в каких столбцах должна быть разбита кластеризация и какие столбцы должны участвовать в некластерном)? Как я должен идти дальше в этом сценарии?Стратегия индекса для новых таблиц - SQL Server

+1

Я не уверен, как ответить на этот вопрос. Стратегия индексирования обычно строится на основе известного (или предполагаемого) набора запросов и операций обновления. Если вы создаете базу данных, где выполняются только операции вставки, то ни один индекс, ни один (кластерный) индекс, основанный на добавочном значении, будут наиболее эффективными. Он не будет работать при запуске запросов, но вы ** не можете построить стратегию индексирования, не зная, какие типы запросов вам нужны для поддержки. –

ответ

1

Ничего не зная заранее, то лучшее, что вы можете сделать, это щедро применять индексы. Это существенно снизит производительность записи, но, по крайней мере, вы сможете справиться с неожиданными запросами.

1

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

1

Когда дело доходит до новых проектов разработки и поддержки производства, трудно получить абсолютный ответ, когда индексирование попадает в список приоритетов. Что касается нового проекта разработки, было бы разумным потратить равное время на создание дизайна базы данных, стратегии индексирования и кода доступа к данным. Без этого приложение может стать кошмаром для обслуживания, требующим большого внимания в производственной среде. Во многом это проще сказать, чем сделать, если база данных просто считается черным ящиком, который, как ожидается, будет работать вечно без какого-либо внимания. Если вы столкнулись с этой проблемой, тогда необходимо сначала изменить этот менталитет и убедиться, что время, энергия и ресурсы должным образом направлены на нужную базу данных.

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

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

Вы можете прочитать здесь далее http://www.mssqltips.com/sqlservertip/1452/sql-server-index-checklist/

Смежные вопросы