SQL Server 2005问题 - 碎片整理必要吗?

时间:2010-09-28 16:27:57

标签: sql-server sql-server-2005 nhibernate

我使用NHibernate将一些数据插入到sql server 2005数据库中。在插入对象之前,我会根据其主键检查它是否已存在。每100000左右的查找这似乎抛出一些异常(如果我通过sql做同样的事情也需要很长时间)。对硬盘进行碎片整理似乎有所帮助,但似乎有点奇怪,我必须这样做 - 或者这是正常的吗?

BTW我知道我可以使用批量插入,但由于某些原因不得不选择NHibernate ......

感谢。

基督教

2 个答案:

答案 0 :(得分:1)

如果它是100k插入,可能是数据库文件增长。你:

  • 根本缩小数据库?
  • 增长幅度很大吗?
  • 没有启用即时文件初始化?

对文件系统进行碎片整理仅对生成IO超时非常有用

答案 1 :(得分:1)

你看到的超时很可能是由于数据库文件的增长。这可以解释缓慢的一致频率。我不确定这种情况发生的频率或表格的长期计划。但是,您可能希望手动将文件增大到更大的大小,以避免自动增长的频繁开销。