程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> Mysql經典的“8小時成績”

Mysql經典的“8小時成績”

編輯:MySQL綜合教程

Mysql經典的“8小時成績”。本站提示廣大學習愛好者:(Mysql經典的“8小時成績”)文章只能為提供參考,不一定能成為您想要的結果。以下是Mysql經典的“8小時成績”正文


假定你的數據庫是mysql,假如數據源設置裝備擺設欠妥,將能夠產生經典的“8小時成績”。緣由是mysql在默許情形下,假如發明一個銜接的余暇時光跨越8小時,將會在數據庫端主動封閉這個銜接。而數據源其實不曉得這個銜接曾經封閉了,當它將這個無用的銜接前往給某個dao時,dao就會報沒法獲得connection異常。

    假如采取dbcp的默許設置裝備擺設,因為testOnBorrow屬性的默許值是true,數據源在將銜接交給dao前,會事前檢測這個銜接能否是好的,假如銜接有成績(在數據庫端被封閉),則會取一個其他的銜接給dao。所以其實不會有“8小時成績”。假如每次將銜接交給dao時都檢測銜接的有用性,在高並發的運用中將會帶來機能的成績,由於它會須要更多的數據庫拜訪要求。

    一種推舉的高效的方法是:將testOnBorrow設置為false,而將“testWhileIdle”設置為true,再設置好testBetweenEvictionRunsMillis值(小於8小時)。那些被mysql封閉的銜接便可以別消除出去,防止“8小時成績”。

    固然,mysql自己也能調劑interactive-timeout(以秒為單元)設置裝備擺設參數,更改余暇銜接的過時時光。所以,在設置timeBetweenEvictionRunsmMillis值時,必需起首獲知mysql的余暇銜接的最年夜過時時光。

    c3p0關於有用銜接的檢測,請參照dbcp設置裝備擺設方法。

以上所述就是本文的全體內容了,願望年夜家可以或許愛好。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved