我在與Oracle合作了幾年後剛剛轉移到PostgreSQL。 我一直在研究PostgreSQL數據庫在應用程序(Java,JDBC)中準備語句的一些性能問題。PostgreSQL緩存準備好的語句(如Oracle)
Oracle在其SGA中緩存準備好的語句 - 準備好的語句池在數據庫連接之間共享。
PostgreSQL文檔似乎沒有指出這一點。下面是從文檔(https://www.postgresql.org/docs/current/static/sql-prepare.html)的片段 -
準備語句僅持續當前數據庫 會話的持續時間。當會話結束時,準備好的語句被遺忘, 因此必須在重新使用之前重新創建。這也意味着 單個準備好的語句不能被多個同時使用的數據庫客戶端使用;但是,每個客戶可以自行創建自己編寫的 聲明以供使用。
我只是想確保我理解這個權利,因爲對於數據庫來說,實現某種通用執行預處理語句的公共池似乎非常基本。
如果PostgreSQL不緩存這些,這將意味着每一個期待了很多數據庫事務需要制定某種事先準備好的聲明池中的所有連接,可重複使用的應用程序。
如果您之前曾使用過PostgreSQL,我將不勝感激。
你實際上並沒有使用真正的(我的意思是*真* *)古代版本** 7.3 **的手冊供您參考,是嗎? – 2012-07-26 18:37:57
版本7.3在2002年11月問世。如今完全過時和無用。你最好採用版本9。1或9.2(發佈日期爲2012年9月),以學習支持PostgreSQL的最新產品發佈。 – 2012-07-27 04:44:04