SQL Server 2005 проблема - дефрагментация необходима? - PullRequest
1 голос
/ 28 сентября 2010

Я вставляю некоторые данные в базу данных sql server 2005, используя NHibernate.Прежде чем вставить объект, я проверяю, существует ли он уже на основе его первичного ключа.Каждые 100000 или около того поисков это, кажется, выдает какое-то исключение (если я делаю то же самое через sql, это также требует возрастов).Дефрагментация жесткого диска, кажется, помогает, но немного странно, что я должен это сделать - или это нормально?

Кстати, я знаю, что я мог бы использовать массовую вставку, но по некоторым причинам пришлось выбирать NHibernate...

Спасибо.

Кристиан

Ответы [ 2 ]

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

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

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

Вероятно, будет рост файла базы данных, если он вставит 100 тыс.Вы:

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

Дефрагментация файловой системы полезна только для генерации тайм-аутов ввода-вывода

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