我正在構建一個更新Web應用程序的用戶統計信息的後臺作業。這項工作目前需要55-60秒,而且我擔心如果用戶在作業運行的同時嘗試加載他的統計信息頁面會發生什麼情況。PostgreSQL + Rails併發性說明
從我讀過的關於PostgreSQL和併發性的內容來看,如果兩個客戶端試圖訪問同一行(一次更新和一次讀取),並且我沒有明確啓動任何事務,第一個只需等待第二個完成。
因此,如果我正確地理解了這一點,那麼我可能會遇到的唯一性能問題就是用戶試圖在該行正在更新的同一時刻加載他的統計信息頁的可能性極小。這並不像整個統計表在55-60秒的時間內被鎖定,除非我明確地配置Postgres來做到這一點,對吧?
這是一個正確的解釋嗎?我還有其他因素嗎?
(我提到了Rails的一部分,以防萬一有上述情況的任何軸承)
(另外:PostgreSQL的版本是9.0.4)