базы данных только для чтения и фрагментация индекса в SQL Server - PullRequest
2 голосов
/ 08 сентября 2010

У меня есть несколько баз данных только для чтения alter database [ReferenceData] set READ_ONLY, которые используются нашим приложением, и мне было интересно, какие вещи можно настроить для максимальной производительности?

До сих пор я достиг следующих целей:

  • Принудительное заполнение индексов до 100% коэффициента заполнения
  • Фрагментация индекса будет менее 10%
  • Если пространство не является проблемой, посмотрите на DMV и добавьтестолько включенных столбцов, сколько рекомендовано

Имеет ли это смысл?Есть ли что-то, что я должен настроить для максимальной эффективности?

Я использую SQL Server 2008 в Windows 2008

Ответы [ 2 ]

1 голос
/ 08 сентября 2010

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

  1. Вы уверены, что все правильные индексы на месте? Вы могли бы бежать Профилировщик / DTA против БД, чтобы увидеть, если есть какие-то области, которые могут быть потенциально улучшается путем создания новых индексы.
  2. Вы настроили запросы, которые используют базу данных только для чтения? Все индексы в мире не важно, если вы плохо написали запросы.
0 голосов
/ 08 сентября 2010
ALTER DATABASE MyDatabase
SET READ_ONLY

переведет базу данных в неизменяемое состояние.Предположительно, есть некоторые оптимизации, но я не уверен.

Вы также можете установить уровень транзакции по умолчанию READ UNCOMMITTED для максимальной производительности чтения для каждого сеанса.Предположительно, если вы установите базу данных в режим «только для чтения», это уже происходит.

РЕДАКТИРОВАТЬ: Перешел по этой статье о том, что вы должны подготовить базу данных только для чтения,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...