首页 新闻 会员 周边 捐助

ms sql 执行update 超级慢

0
悬赏园豆:10 [待解决问题]

update proinfo  set isdel=0,notice=1,spid=1234 where id= 17893158

id 是主键  表有1100多万条记录 ,已经做了分表了。历史表的数据量更大,更新的字段都isdel,spid是非索引字段 spid是索引字段 当时把 spid 去掉,基本上要30多秒甚至1分多钟

请各位大侠指点如何优化

albert522的主页 albert522 | 初学一级 | 园豆:192
提问于:2013-07-04 10:43
< >
分享
所有回答(4)
0

update proinfo  set isdel=0,notice=1,spid=1234 where id= 17893158

这个 《id= 17893158》 不用加单引号吗??

二十三号同学 | 园豆:974 (小虾三级) | 2013-07-04 10:55

参考这个:

http://zhidao.baidu.com/question/540142436.html

支持(0) 反对(0) 二十三号同学 | 园豆:974 (小虾三级) | 2013-07-04 10:57
0

建议检查一下聚集索引是否建在了id字段上

dudu | 园豆:30778 (高人七级) | 2013-07-04 12:00
0

where 后面的字段建好索引就行。1000多w条数据update单条数据应该快的很才是。

+小马哥++ | 园豆:906 (小虾三级) | 2013-07-04 12:07
0

ID列用聚集索引,然后spid列,去掉索引。索引加速了查询,会影响更新和删除。

幻天芒 | 园豆:37207 (高人七级) | 2013-07-04 12:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册