查询时间长

时间:2011-06-30 17:49:43

标签: sql tsql sql-server-2008

我有一张2350万行和20列的表格。我更新了表格,将其中一列设置为null。此查询需要一个小时才能完成。当然,我没有一个惊人的快速数据库服务器,但这个更新时间是否正常?运行更新时,我没有在此表上有索引。这有多大帮助?

提前致谢!

3 个答案:

答案 0 :(得分:3)

考虑到它更新了所有行,索引不会有任何帮助。

是否有同时读取的内容?更新导致行级锁定,即使是短暂的,也可能导致大量流量并在事务日志中等待。

答案 1 :(得分:3)

这肯定是数据库服务器行数的可接受时间,特别是因为你说它不是那么快。如果你有一个索引它就没有帮助。索引用于帮助数据库服务器更快地查找特定记录。

答案 2 :(得分:0)

您可以删除列并将其重新添加为可为空,而不是将列更新并设置为null。根据我的经验,这比更新和设置每一行在该字段中为空的速度要快许多倍。