為什麼建立資料庫連線消耗資源較多

2021-09-12 04:26:25 字數 502 閱讀 5758

開發人員經常認為建立乙個資料庫是乙個簡單的要求,不就是在資料庫伺服器和初始化使用者之間的乙個網路往返嗎,但實際上,乙個資料庫連線在驅動和資料庫伺服器之間有多次網路往返,例如,當某個驅動連線到oracle或sybase時,這個連線會有7到10和網路往返,執行了一系列的動作:

◆校驗使用者的身份證書

◆在資料庫驅動期望的**頁設定和資料庫可用的**頁設定之間進行協商(如果必要的話)

◆獲取資料庫版本資訊

◆確定用於通訊的最理想的資料庫協議包大小

◆設定會話設定

此外,資料庫管理(開發人員承擔資料庫管理員職責時的最佳做法)系統要確定建立連線使用的資源,包括效能開銷較大的磁碟i/o和記憶體分配,你可能會認為將應用程式部署到資料庫伺服器上會消除網路往返,在大多數情況下這並不現實,因為現實世界中大部分企業並不會這麼幹,它們有很多的應用程式,有很多的資料庫,此外,資料庫伺服器都會為資料庫系統進行精心的效能調整,一般不會為不同的應用程式進行調整,即使可以在一台機器上安裝資料庫和應用程式,但這樣也會有單點故障的隱患。

資料庫連線資源釋放

專案執行過程中遇到了tomcat連線池資源不釋放,導致系統崩潰的問題。1 initialsize 連線池啟動時建立的初始化連線數量 2 maxactive 連線池中可同時連線的最大的連線數 3 maxidle 連線池中最大的空閒的連線數,超過的空閒連線將被釋放,如果設定為負數表示不限制 4 mini...

為什麼要用資料庫連線池?

對於乙個簡單的資料庫應用,由於對於資料庫的訪問不是很頻繁。這時可以簡單地在需要訪問資料庫時,就新建立乙個連線,用完後就關閉它,這樣做也不會帶來什麼明顯的效能上的開銷。但是對於乙個複雜的資料庫應用,情況就完全不同了。頻繁的建立 關閉連線,會極大的減低系統的效能,因為對於連線的使用成了系統效能的瓶頸。連...

資料庫建立連線

資料庫建立連線的方式 1 通過 獲取 如 dim objcn as new connection objrs as new recordset,strcn as string connection 連線物件 recordset 結果集用於儲存結果 string 用於儲存連線的位址 字元資料 如obj...