Как оптимизировать производительность для баз данных MSSQL?

Одна вещь, которую я предложил бы, состоит в том, чтобы использовать , случайным образом выбрал частные диапазоны от 10.0.0.0/8 блока для всех Ваших частных адресов. Это избегает большого количества проблем, особенно при установке VPNs между сетями дома/партнера и корпоративной сетью. Большинство домашних маршрутизаторов (и много корпоративных установок) используют 192.168.0.0/24 или 10.0.0.0/24, таким образом, Вы проведете часы, разбираясь в различных проблемах connecticity, когда Вы попытаетесь установить возможность соединения между двумя частными сетями.

, однако, при выборе случайного диапазона как 10.145.0.0/16 и затем подсети оттуда намного менее вероятно, что Вы "столкнетесь" с деловым партнером или частным диапазоном IP домашней сети.

6
задан 6 May 2009 в 11:07
7 ответов

необходимо удалить "часть" базы данных уменьшения плана технического обслуживания. "база данных уменьшения" фрагментирует Ваш индекс! вот большое сообщение в блоге Paul S. Randal, который объясняет это подробно.

можно восстановить статистику с:

EXEC sp_updatestats

обновляйте свою статистику всегда после Вашего переиндекса базы данных. вот сообщение в блоге Colin Stasiuk, который объясняет эту лучшую практику.

10
ответ дан 2 December 2019 в 23:56
  • 1
    +1 для хороших советов и хороших ссылок –  Frode Lillerud 6 May 2009 в 11:00

Я получил повышение производительности порядков величины только путем индексации (хотя я действительно не играл с ним очень),

После обработки очевидного (достойные аппаратные средства, индексация и defrag'ing), Вы - лучший источник для производительности, смотрит на Ваш собственный код.

8
ответ дан 2 December 2019 в 23:56
  • 1
    Другая вещь I' ve, замеченный сделанный, должен переместить основное устройство (MDF) и журнал (LDF) файлы к различным дискам. –  Hector Sosa Jr 4 May 2009 в 23:05

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

Удостоверьтесь, что Вы предварительно выделяете достаточно пространства, таким образом, база данных не авторастет все время.

5
ответ дан 2 December 2019 в 23:56
  • 1
    +1 на Профилировщике. Ищите узкие места, если таковые имеются. Но с текущим размером, используя План технического обслуживания должен сделать задание. –  MarlonRibunal 5 May 2009 в 00:00

если у Вас есть sp2 sql2005, Вы можете (и так как Вы - dba, вероятно, уже сделал), устанавливают панель инструментов производительности, сообщает плагин. после перезагрузки сервера я буду наблюдать монитор производительности за полезными индексами. монитор производительности обеспечивает богатство информации. со временем я нашел, что это накапливается до большого количества материала (но это могло бы быть то, потому что у меня есть установка базы данных как fogbugz... у меня есть много клиентских баз данных, все с той же структурой, на том же сервере... SQL-сервер будет рассматривать необходимые индексы в каждом из них как отдельные, и это приводит к набору эффективно дублирующихся записей в отчете). так или иначе я провожу много времени, смотря на недостающие индексные отчеты и добавляя/изменяя индексы в результате.

наилучшие пожелания, Дон

2
ответ дан 2 December 2019 в 23:56

Прикрепите свои основные файлы базы данных на различные физические диски, чем Ваши файлы журнала. т.е. - разделяют Ваш .MDF и Ваш .LDF файлы.

2
ответ дан 2 December 2019 в 23:56

Тестовый прогон Ваш sql/stored procs в Studio управления SQL. Когда Вы выполняете их, поворачиваете выставленную для обозрения Статистику Плана выполнения и Клиента. Ищите сканирования таблицы или другие шаги, что использование поднимает большой % времени выполнения. При выполнении SQL 2008 он предложит индексы, которые сделают код выполненным быстрее.

1
ответ дан 2 December 2019 в 23:56

Все аппаратные средства фиксируют извините, но я предложил бы использовать;

64-разрядный Windows 2008 Lots памяти (приблизительно 16 ГБ я предложил бы, это дешево в данный момент), Вход в систему SSD, данные по зеркальной паре 15krpm диски SCSI/SAS Идеально пара 55xx-серийных микросхем Xeon.

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

1
ответ дан 2 December 2019 в 23:56
  • 1
    DB вписывается в память, почему, не помещая его там? I' m не о SSD' s и 15K' s стоят furtune, лучше потраченного на более высокие часы Nehalem или еще больше RAM –  Dani 4 May 2009 в 19:29
  • 2
    О, абсолютно я предполагаю, что просто говорил это it' s часто более дешевый, и очень часто более быстрый, для покупки выхода из проблемы производительности, чем код выход. –  Chopper3 4 May 2009 в 21:20

Теги

Похожие вопросы