说,我有以下查询:
UPDATE table_name
SET column_name1 = column_value1, ..., column_nameN = column_valueN
WHERE id = M
问题是,column_value1,...,column_valueN没有改变。这个查询是否真的会执行,在这种情况下,与更新真实更改的数据相比,性能如何?如果每页有大约50个此类查询没有更改数据,该怎么办?
答案 0 :(得分:4)
您需要通过仅指定更改的列和行来帮助postgresql。它将继续执行您指定的任何内容的更新,而不检查数据是否已更改。
P.S。这就是ORM派上用场的地方。
编辑:您可能也对How can I speed up update/replace operations in PostgreSQL?感兴趣,OP可以解决所有问题,以加快UPDATE性能,只有通过更新更改的数据才能实现最佳性能。