有一个int字段(不是主键 不是索引)
里面有很多值,  值没有分布规律,这个 int值 大部分是0,  
现在我要把所有不是0的  改成0
-- 方法1
update [表] set [字段] = 0-- 方法2
update [表] set [字段] = 0 where [字段 <> 0]

解决方案 »

  1.   

    方法一是全部更新为0
    方法二是把不为0的更新为0功能不同,比较效率没有意义呀
      

  2.   

    第二个是完全按照你的意思把不为0的更新为0第一个是把所有都更新为0感觉第一个的计算量比第二个大
      

  3.   

    数据量不大的情况下,执行时间上没有啥区别。
      

  4.   


    按我这种情况, 怎么比较快?
      

  5.   

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

  6.   

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

  7.   

    假设数据量有1000万,其中只有一个不等于0的。必然是给字段加上索引,然后按条件更新比较快。如果数据库全是不等于0的,两者就都需要扫描表,这个时候条件就显得有些多余了。要根据实际情况实际分析。
      

  8.   

    这个字段不为0的要变成0,那这个字段就始终为0,数据量大的时候,建议进入数据库一条就处理一条。
      

  9.   

    只有对大批量数据才会有影响,加条件应该好些吧!