我有一個Node.js
腳本和一個PostgreSQL
數據庫,我將使用一個維護與數據庫連接池的庫。PostgreSQL:使用相同的連接或從池中獲取另一個連接?
說我有,在腳本的不同部分數據庫多次(不一個交易)查詢腳本,我怎麼知道我是否應該獲得一個連接/客戶端和重用它貫穿*或爲每個查詢從池中獲取新客戶端? (兩者都有效但性能更好)
* task
在pg-promise
庫中,connect
在node-postgres
庫中。
...
// Acquire connection from pool.
(Database query)
(Non-database-related code)
(Database query)
// Release connection to pool.
...
或
...
// Acquire connection from pool.
(Database query)
// Release connection to pool.
(Non-database-related code)
// Acquire connection from pool.
(Database query)
// Release connection to pool.
...
你讀過這個嗎? - [Chaining Queries](https://github.com/vitaly-t/pg-promise/wiki/chaining-queries)。 –
@ vitaly-t爲什麼第二種方法「耗盡游泳池」?客戶在每次查詢後都不會獲得發行版嗎? – Code
由於高併發性而耗盡嘗試並行執行的查詢次數多於池中可用連接的總數。新的將被卡住,等待連接在池中可用。這就是爲什麼在繁忙的系統中使用任務很重要。 –