這是我的更新 -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