postgresql - Postgres : updating not-changed rows

标签 postgresql sql-update

比如说,我有以下查询:

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/

相关文章:

SQL 对数据进行分页,其中分页从给定的主键开始

postgresql - 如何将复杂的 GROUP BY 转换为 Sequelize?

sql - 如何通过匹配值从另一个表插入到一个表中?

php - SQL/PHP-语法错误或访问冲突: 1064 You have an error in your SQL syntax; [closed]

php - 使用空变量/值更新 MySQLi

mysql - 如何将新对象添加到 MariaDB 中现有的 JSON 对象中?

sql用子选择更新多行

django - 在 django1.4 和 postgresql 8.1 中避免 RETURN postgresql 语句与 bug #10467 相关

postgresql - 如何自动关闭 PostgreSQL 中的空闲连接?

database - 将 PostgreSQL 数据库复制到另一台服务器