//UPDATE LOW_PRIORITY ... SET `A` = `A` + 1
//这种SQL语句的执行性能是很低的,因为数据库要先去获取`A`的值,再去加1
//比  UPDATE LOW_PRIORITY ... SET `A` = 10  要慢很多倍。

解决方案 »

  1.   

    没觉得性能会低多少 再说set  A=A+1 和set  A=10根本就是两种逻辑无法替换
      

  2.   

    差别不会太大。
    UPDATE LOW_PRIORITY ... SET `A` = `A` + 1
    UPDATE LOW_PRIORITY ... SET `A` = 10表面上看,第1个是先读取A的值,再计算一下并更新。这个计算都是很快的运算,几乎可以忽略。
    实际上第2个,也是要读取A所在的数据块,然后更新。时间上应该没有明显区别。要注意的是,我们倒要看看在A列上建立了索引的情况下,两个更新的时间差距,楼主有兴趣,可以做一下实验。