sql数据库 update单个字段与update整行的性能区别

一直不明白,在sql数据库里,如果一个表有很多列,当某个字段数据需要更新时,只更新该字段与更新整行的性能上区别。我现在碰到一种情况,表的某行数据在不同时刻有不同的字段数据需要更新,现在的做法是先查询字段数据,找到数据不相同字段则更新该字段。但这样程序比较繁琐,想一次整行更新,又担心性能上出问题。请大家指教。

如果表有多个字段,还是更新整行比较好,这样你就不用判断所有的字段是否相同,只需要判断关键字段就行了,你可以用checksum来对整行数据进行一个哈希运算,只要哈希值不同,则更新,如果相同则不需要更新
数据更新的主要消耗是在数据的写方面,如果索引庞大,还会花费很多资源在索引维护方面,而查询的开销是一致的,分两次分别更新一列的效率不如一次更新两列
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-09-04
纠正下,update整行也是一个字段一个字段的update的。
举例:update table tablename set age =5 ,name = 'zhangsan' where id =3;
解释:即使是update的整行也是一个字段一个字段的进行的。
备注:如果要是拆分为两次或者多次update一个字段,那肯定是上面的语句性能高,因为不需要多次查询。
第2个回答  2013-08-19
我教给你一个简单的方法来判断,你分析下两种方法更新的步骤,多的,性能就不好.
相似回答