我需要修复 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)