小编Gri*_*cey的帖子

Postgresql 是否为不变更新语句创建一个新元组?

我需要修复 Postgresql 数据库中的一些数据问题,其中主要是从文本列中修剪空格。我正在使用如下语句执行此操作:

UPDATE app.products
SET "description" = TRIM(BOTH FROM "description")
Run Code Online (Sandbox Code Playgroud)

在测试数据库上发出这个返回UPDATE 2000. 测试表包含 2000 行,其中只有 1 行实际上会随着空白修剪而改变。这是否会导致 Postgres 创建新的、不必要的元组?添加 WHERE 子句会有好处吗?大多数目标列都没有编入索引。

UPDATE app.products
SET "description" = TRIM(BOTH FROM "description")
WHERE "description" LIKE ' %' OR "description" LIKE '% '
Run Code Online (Sandbox Code Playgroud)

postgresql postgresql-performance

2
推荐指数
1
解决办法
124
查看次数

标签 统计

postgresql ×1

postgresql-performance ×1