Postgres:更新未更改的行

时间:2011-08-08 16:29:06

标签: postgresql sql-update

说,我有以下查询:

UPDATE table_name
SET column_name1 = column_value1, ..., column_nameN = column_valueN
WHERE id = M

问题是,column_value1,...,column_valueN没有改变。这个查询是否真的会执行,在这种情况下,与更新真实更改的数据相比,性能如何?如果每页有大约50个此类查询没有更改数据,该怎么办?

1 个答案:

答案 0 :(得分:4)

您需要通过仅指定更改的列和行来帮助postgresql。它将继续执行您指定的任何内容的更新,而不检查数据是否已更改。

P.S。这就是ORM派上用场的地方。

编辑:您可能也对How can I speed up update/replace operations in PostgreSQL?感兴趣,OP可以解决所有问题,以加快UPDATE性能,只有通过更新更改的数据才能实现最佳性能。