Sql 博士后。更新一条记录需要很长时间

Sql 博士后。更新一条记录需要很长时间,sql,postgresql,Sql,Postgresql,这是我的最新消息- UPDATE "users" SET "name" = $?, "is_read" = $?, "updated_at" = $? WHERE "users"."id" = ? 而且有时大约需要150秒(但在正常情况下-速度很快)。你能告诉我可能的原因吗?users.id有索引要加快此更新,您需要在用户(id)上建立索引: 通常,id将被声明为主键(或至少是唯一的),并且已经有索引。但如果不是这样,这应该会有所帮助 注意:还有其他可能性,例如其他进程在表上有一个锁或非常复杂

这是我的最新消息-

UPDATE "users" SET "name" = $?, "is_read" = $?, "updated_at" = $? WHERE "users"."id" = ?

而且有时大约需要150秒(但在正常情况下-速度很快)。你能告诉我可能的原因吗?users.id有索引

要加快此更新,您需要在
用户(id)
上建立索引:

通常,
id
将被声明为主键(或至少是唯一的),并且已经有索引。但如果不是这样,这应该会有所帮助


注意:还有其他可能性,例如其他进程在表上有一个锁或非常复杂的插入触发器。

有触发器吗?是否为users.id编制了索引?是的,为users.id编制了索引。如果我对这个表有看法-这可能是原因吗?看法不应该有任何区别。重新构建索引可能会有所不同,但我对postgresql不太了解。。。触发器可以产生巨大的差异。这可能有助于(热更新)查看pg_stat_活动中的
select*。也许有些查询会锁定表?谢谢,用户索引(id)存在。关于用户表的视图呢?这可能是原因吗?@ArtoymP。视图也会对性能产生负面影响。
create index idx_users_id on users(id)