首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

这两种update 哪个效率好?该如何处理

2012-03-25 
这两种update 哪个效率好?有一个int字段(不是主键 不是索引)里面有很多值,值没有分布规律,这个 int值 大部

这两种update 哪个效率好?
有一个int字段(不是主键 不是索引)


里面有很多值, 值没有分布规律,

这个 int值 大部分是0,  


现在我要把所有不是0的 改成0

SQL code
-- 方法1update [表] set [字段] = 0


SQL code
-- 方法2update [表] set [字段] = 0 where [字段 <> 0]




[解决办法]
我觉得第二个
[解决办法]
方法一是全部更新为0
方法二是把不为0的更新为0

功能不同,比较效率没有意义呀
[解决办法]
第二个是完全按照你的意思把不为0的更新为0

第一个是把所有都更新为0

感觉第一个的计算量比第二个大
[解决办法]
数据量不大的情况下,执行时间上没有啥区别。
[解决办法]
不能比、不一样的功能不能比。。
[解决办法]
假设数据量有1000万,其中只有一个不等于0的。

必然是给字段加上索引,然后按条件更新比较快。

如果数据库全是不等于0的,两者就都需要扫描表,这个时候条件就显得有些多余了。

要根据实际情况实际分析。
[解决办法]
探讨

引用:

不能比、不一样的功能不能比。。



按我现在这个表, 哪一种速度会快?
推荐一下吧

热点排行