这是我的更新 -Postgres。更新一个记录时间长
UPDATE "users" SET "name" = $?, "is_read" = $?, "updated_at" = $? WHERE "users"."id" = ?
和有时需要花费大约150秒(但normaly - 它的快)。你能告诉我可能的原因吗? users.id有指数
这是我的更新 -Postgres。更新一个记录时间长
UPDATE "users" SET "name" = $?, "is_read" = $?, "updated_at" = $? WHERE "users"."id" = ?
和有时需要花费大约150秒(但normaly - 它的快)。你能告诉我可能的原因吗? users.id有指数
为了加快此更新,您想对users(id)
指数:
create index idx_users_id on users(id)
通常情况下,id
将被宣布为一个主键(或者至少是唯一的),并且已经有一个索引。但如果不是,这应该有所帮助。
注意:还有其他可能性,例如其他进程在表上具有锁定或非常复杂的插入触发器。
谢谢,用户(id)索引存在。用户表与视图有什么关系?它可以是原因吗? –
@ArtoymP。 。 。观点也可能会对性能产生负面影响。 –
任何触发器? users.id被索引了吗? – jarlh
是的,users.id被编入索引。如果我有这张桌子的观点 - 这可能是理由? –
视图不应该有任何区别。重新编译索引可能会有所作为,但我不知道postgresql那么好......触发器可以产生巨大的差异。 – jarlh