读书人

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

发布时间: 2012-03-25 20:55:17 作者: rapoo

这两种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的,两者就都需要扫描表,这个时候条件就显得有些多余了。

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

引用:

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



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

读书人网 >SQL Server

热点推荐