怎么檢查數(shù)據(jù)庫中哪個(gè)表死鎖了?
來源:m.ehwe.cn
時(shí)間:2023-07-28 07:43
點(diǎn)擊:322
編輯:niming
手機(jī)版
怎么檢查數(shù)據(jù)庫中哪個(gè)表死鎖了?
一般采用超時(shí)法或事務(wù)等待圖法:
(1)超時(shí)法
如果一個(gè)事務(wù)的等待時(shí)間超過規(guī)定時(shí)間,就認(rèn)為發(fā)生了死鎖。這個(gè)實(shí)現(xiàn)簡(jiǎn)單,但不足也很明顯。
(2)事務(wù)等待圖法
事務(wù)等待圖是一個(gè)有向圖G=(T, U),T為結(jié)點(diǎn)的集合,每個(gè)結(jié)點(diǎn)表示正在運(yùn)行的事務(wù);U為邊的集合,每條邊表示事務(wù)等待的情況。若事務(wù)T1等待事務(wù)T2,則T1,T2之間有一條有向邊,從 T1 指向 T2。如果發(fā)現(xiàn)圖中存在回路,則表示系統(tǒng)中出現(xiàn)了死鎖。
發(fā)現(xiàn)死鎖后,靠事務(wù)本身無法打破死鎖,必須由DBMS干預(yù)。DBMS對(duì)死鎖一般作下列處理:
● 在循環(huán)等待的事務(wù)中,選一個(gè)事務(wù),將該事務(wù)撤銷,釋放其獲得的鎖及其它資源;
● 將釋放的資源分配給等待該事務(wù)的其它事務(wù)。
數(shù)據(jù)庫連接池怎么檢測(cè)在網(wǎng)頁上顯示連接成功
在鏈接字符串中加上autoReconnect=true
如jdbc:mysql://localhost:3306?autoReconnect=true
如果想判斷是否連接成功,可以通過jdbc返回一個(gè)Connection對(duì)象,判斷該對(duì)象是否為空
感覺不錯(cuò),贊哦!
(189)
下次努力,加油!
(0)
標(biāo)簽閱讀: