哪种查询更快:多套更新或一套更新?

时间:2018-12-20 16:02:05

标签: mysql sql oracle postgresql

假设您的TestTable包含以下字段:field1,field2,... fieldn。

什么查询执行得更快:

UPDATE TestTable set field1 = n1;


UPDATE TestTable set field2 = n2;

...

UPDATE TestTable set fieldn = nn;

UPDATE TestTable set 

field1 = n1,

field2 = n2,

....

fieldn = nn;

2 个答案:

答案 0 :(得分:5)

好问题。尝试以这种方式思考。

每次设置操作所花费的时间都可以忽略不计
对于每个UPDATE = n检查

更新n1 = n
更新n2 = n
更新n3 = n

因此,从本质上讲,对于n个更新,您要检查n行n次,因此您要查看的总数为n ^ 2。 但是,如果使用单次更新功能,则只检查一次n行。

因此,第二种选择明显更好。

答案 1 :(得分:3)

SQL是基于集合的。每当您可以通过一次操作处理一组数据时,通常情况就会更好。