这两种update 哪个效率好?
有一个int字段(不是主键 不是索引)
里面有很多值, 值没有分布规律,
这个 int值 大部分是0,
现在我要把所有不是0的 改成0
SQL code
-- 方法1
update [表] set [字段] = 0
SQL code
-- 方法2
update [表] set [字段] = 0 where [字段 <> 0]
------解决方案--------------------我觉得第二个
------解决方案--------------------方法一是全部更新为0
方法二是把不为0的更新为0
功能不同,比较效率没有意义呀
------解决方案--------------------第二个是完全按照你的意思把不为0的更新为0
第一个是把所有都更新为0
感觉第一个的计算量比第二个大
------解决方案--------------------数据量不大的情况下,执行时间上没有啥区别。
------解决方案--------------------不能比、不一样的功能不能比。。
------解决方案--------------------假设数据量有1000万,其中只有一个不等于0的。
必然是给字段加上索引,然后按条件更新比较快。
如果数据库全是不等于0的,两者就都需要扫描表,这个时候条件就显得有些多余了。
要根据实际情况实际分析。
------解决方案--------------------