我有一张2350万行和20列的表格。我更新了表格,将其中一列设置为null
。此查询需要一个小时才能完成。当然,我没有一个惊人的快速数据库服务器,但这个更新时间是否正常?运行更新时,我没有在此表上有索引。这有多大帮助?
提前致谢!
答案 0 :(得分:3)
考虑到它更新了所有行,索引不会有任何帮助。
是否有同时读取的内容?更新导致行级锁定,即使是短暂的,也可能导致大量流量并在事务日志中等待。
答案 1 :(得分:3)
这肯定是数据库服务器行数的可接受时间,特别是因为你说它不是那么快。如果你有一个索引它就没有帮助。索引用于帮助数据库服务器更快地查找特定记录。
答案 2 :(得分:0)
您可以删除列并将其重新添加为可为空,而不是将列更新并设置为null。根据我的经验,这比更新和设置每一行在该字段中为空的速度要快许多倍。