比如说,我有以下查询:
UPDATE table_name
SET column_name1 = column_value1, ..., column_nameN = column_valueN
WHERE id = M
事实是,column_value1, ..., column_valueN 没有改变。这个查询会真正执行吗?在这种情况下,与使用真正更改的数据进行更新相比,性能如何?如果我每页有大约 50 个此类查询且数据未更改怎么办?
最佳答案
您需要通过仅指定更改的列和行来帮助 postgresql。它将继续对您指定的任何内容执行更新,而不检查数据是否已更改。
附注这就是 ORM 派上用场的地方。
编辑:您可能还对 How can I speed up update/replace operations in PostgreSQL? 感兴趣,其中 OP 经历了所有的麻烦来加快更新性能,而最佳性能可以通过仅更新更改的数据来实现。
关于postgresql - Postgres : updating not-changed rows,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6985279/