【发布时间】:2008-12-16 21:32:58
【问题描述】:
我有一个包含大约 45 列的表,随着更多数据进入,插入发生所需的时间越长。我增加了数据和日志文件的大小,减少了该表上所有索引的填充因子,但插入时间仍然越来越慢。任何想法都将不胜感激。
【问题讨论】:
标签: sql-server database sql-server-2005 database-design
我有一个包含大约 45 列的表,随着更多数据进入,插入发生所需的时间越长。我增加了数据和日志文件的大小,减少了该表上所有索引的填充因子,但插入时间仍然越来越慢。任何想法都将不胜感激。
【问题讨论】:
标签: sql-server database sql-server-2005 database-design
对于插入,您希望降低表上索引的填充因子以减少分页。
预计随着更多数据进入,插入所需的时间会更长,因为您的索引只会变得更大。
尝试分批而不是逐行输入数据。这样 SQL Server 效率更高。
确保您的表上没有太多索引。
如果您只是在索引中包含列,请考虑在索引中使用 SQL Server 2005 的 INCLUDE 语句,因为您希望在查询中涵盖这些列。
【讨论】:
桌子有多大?
上下文是什么?这是一批很多新记录吗?
您可以发布包含索引定义的架构吗?
你能设置 STATISTICS IO ON,SET STATISTICS TIME ON,然后发布一次迭代的显示吗?
数据或上下文有什么病态的吗?这是在服务器还是笔记本电脑上(测试)?
【讨论】:
为什么在插入之前不删除索引,然后重新创建索引到表中,这样你就不需要更新统计信息了
【讨论】:
您还可以确保对该表的索引进行碎片整理
【讨论】: