2010-09-08 1 views
2

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

До сих пор, я пришел со следующими целями:

  • набивка Force в индексах до 100% коэффициент заполнения
  • индекс fragementation быть менее 10%
  • Если пространство не является проблемой посмотрите на DMV и добавьте столько INCLUDED столбцов, сколько рекомендовано

Есть ли смысл? Есть ли больше вещей, которые я должен настраивать для максимальной эффективности?

Я бегу SQL Server 2008 на Windows 2008

ответ

1

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

  1. Вы уверены, что все правильные индексы на месте? Вы можете запустить профилировщик/DTA против БД, чтобы узнать, есть ли , есть ли какие-либо области, которые могут быть , потенциально улучшенные путем создания новых индексов .
  2. У вас настроена настройка запросов, в которых используется только чтение? Все индексы в мире не вопрос, если вы плохо написаны запросов.
+0

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

0
ALTER DATABASE MyDatabase 
SET READ_ONLY 

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

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

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

+0

Я не уверен, но я уверен, что когда его база данных, доступная только для чтения, двигатель знает, что она может читать без блокировок. Моя база данных была доступна только для чтения уже много лет (за исключением ежемесячных обновлений), и я просто пытаюсь выяснить, что можно сделать, чтобы сохранить ее оптимальной. – Mouffette

+0

Спасибо за ссылку. В этом сообщении упоминается, что преимущества производительности не нужны для блокировок, дополнительные индексы не влияют на них, а третий - и не уверены, почему это связано с перфомансом, но вы можете копировать данные и файлы журналов, когда база данных находится в сети – Mouffette

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