日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

数据库死锁及解决办法

發(fā)布時(shí)間:2023/12/29 数据库 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据库死锁及解决办法 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

  • 1. 事務(wù)之間對(duì)資源訪問(wèn)順序的交替
  • 2. 并發(fā)修改同一記錄
  • 3. 索引不當(dāng)導(dǎo)致的死鎖

目前,我們已經(jīng)探討了許多關(guān)于數(shù)據(jù)庫(kù)鎖的問(wèn)題,鎖能夠有效地解決并發(fā)的問(wèn)題,但這也帶來(lái)了一個(gè)嚴(yán)重的缺點(diǎn),那就是死鎖。

死鎖在操作系統(tǒng)中指的是兩個(gè)或兩個(gè)以上的進(jìn)程在執(zhí)行的過(guò)程中,因爭(zhēng)奪資源而造成的一種互相等待的現(xiàn)象,若無(wú)外力作用,它們都將無(wú)法推進(jìn)下去。此時(shí)稱系統(tǒng)處于死鎖狀態(tài)或者系統(tǒng)產(chǎn)生了死鎖,這些永遠(yuǎn)在互相等待的進(jìn)程稱為死鎖進(jìn)程。

在操作系統(tǒng)中,死鎖的處理是一個(gè)重要的話題,也已經(jīng)有較為成熟的解決方法,如銀行家算法等,在這邊我們就不再闡述,只討論數(shù)據(jù)庫(kù)中的死鎖。

數(shù)據(jù)庫(kù)中常見(jiàn)的死鎖原因與解決方案有:

1. 事務(wù)之間對(duì)資源訪問(wèn)順序的交替

出現(xiàn)原因:
一個(gè)用戶A 訪問(wèn)表A(鎖住了表A),然后又訪問(wèn)表B;另一個(gè)用戶B 訪問(wèn)表B(鎖住了表B),然后企圖訪問(wèn)表A;這時(shí)用戶A由于用戶B已經(jīng)鎖住表B,它必須等待用戶B釋放表B才能繼續(xù),同樣用戶B要等用戶A釋放表A才能繼續(xù),這就死鎖就產(chǎn)生了。

解決方法:
這種死鎖比較常見(jiàn),是由于程序的BUG產(chǎn)生的,除了調(diào)整的程序的邏輯沒(méi)有其它的辦法。仔細(xì)分析程序的邏輯,對(duì)于數(shù)據(jù)庫(kù)的多表操作時(shí),盡量按照相同的順序進(jìn)行處理,盡量避免同時(shí)鎖定兩個(gè)資源,如操作A和B兩張表時(shí),總是按先A后B的順序處理, 必須同時(shí)鎖定兩個(gè)資源時(shí),要保證在任何時(shí)刻都應(yīng)該按照相同的順序來(lái)鎖定資源

2. 并發(fā)修改同一記錄

出現(xiàn)原因:主要是由于沒(méi)有一次性申請(qǐng)夠權(quán)限的鎖導(dǎo)致的。參考:記錄一次死鎖排查過(guò)程

用戶A查詢一條紀(jì)錄,然后修改該條紀(jì)錄;這時(shí)用戶B修改該條紀(jì)錄,這時(shí)用戶A的事務(wù)里鎖的性質(zhì)由查詢的共享鎖企圖上升到獨(dú)占鎖,而用戶B里的獨(dú)占鎖由于A有共享鎖存在所以必須等A釋放掉共享鎖,而A由于B的獨(dú)占鎖而無(wú)法上升的獨(dú)占鎖也就不可能釋放共享鎖,于是出現(xiàn)了死鎖。這種死鎖比較隱蔽,但在稍大點(diǎn)的項(xiàng)目中經(jīng)常發(fā)生。

解決方法:

a. 樂(lè)觀鎖,實(shí)現(xiàn)寫(xiě)-寫(xiě)并發(fā)

b. 悲觀鎖:使用悲觀鎖進(jìn)行控制。悲觀鎖大多數(shù)情況下依靠數(shù)據(jù)庫(kù)的鎖機(jī)制實(shí)現(xiàn),如Oracle的Select … for update語(yǔ)句,以保證操作最大程度的獨(dú)占性。但隨之而來(lái)的就是數(shù)據(jù)庫(kù)性能的大量開(kāi)銷,特別是對(duì)長(zhǎng)事務(wù)而言,這樣的開(kāi)銷往往無(wú)法承受。

3. 索引不當(dāng)導(dǎo)致的死鎖

出現(xiàn)原因:
如果在事務(wù)中執(zhí)行了一條不滿足條件的語(yǔ)句,執(zhí)行全表掃描,把行級(jí)鎖上升為表級(jí)鎖,多個(gè)這樣的事務(wù)執(zhí)行后,就很容易產(chǎn)生死鎖和阻塞。類似的情況還有當(dāng)表中的數(shù)據(jù)量非常龐大而索引建的過(guò)少或不合適的時(shí)候,使得經(jīng)常發(fā)生全表掃描,最終應(yīng)用系統(tǒng)會(huì)越來(lái)越慢,最終發(fā)生阻塞或死鎖。

另外一種情況是由于二級(jí)索引的存在,上鎖的順序不同導(dǎo)致的,這部分在討論索引時(shí)會(huì)提到。參考:https://www.cnblogs.com/LBSer/p/5183300.html

解決方法:

SQL語(yǔ)句中不要使用太復(fù)雜的關(guān)聯(lián)多表的查詢;使用“執(zhí)行計(jì)劃”對(duì)SQL語(yǔ)句進(jìn)行分析,對(duì)于有全表掃描的SQL語(yǔ)句,建立相應(yīng)的索引進(jìn)行優(yōu)化。

那么,如何盡可能的避免死鎖呢?

1)以固定的順序訪問(wèn)表和行。即按順序申請(qǐng)鎖,這樣就不會(huì)造成互相等待的場(chǎng)面。

2)大事務(wù)拆小。大事務(wù)更傾向于死鎖,如果業(yè)務(wù)允許,將大事務(wù)拆小。

3)在同一個(gè)事務(wù)中,盡可能做到一次鎖定所需要的所有資源,減少死鎖概率。

4)降低隔離級(jí)別。如果業(yè)務(wù)允許,將隔離級(jí)別調(diào)低也是較好的選擇,比如將隔離級(jí)別從RR調(diào)整為RC,可以避免掉很多因?yàn)間ap鎖造成的死鎖。

5)為表添加合理的索引。如果不走索引將會(huì)為表的每一行記錄添加上鎖,死鎖的概率大大增大。

總結(jié)

以上是生活随笔為你收集整理的数据库死锁及解决办法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产日b视频 | 爽爽爽av| 日韩伦理一区 | 亚洲三级在线 | 免费成人91 | 午夜网站在线 | 大地资源二中文在线影视免费观看 | 欧美黄色大片免费观看 | 久久久精品亚洲 | 日韩色网站 | 91麻豆精品一区二区三区 | www.999热| 丁香一区二区三区 | 精品一区二区三区四区五区六区 | 手机在线看片你懂的 | 免费在线你懂的 | 9人人澡人人爽人人精品 | 欢乐谷在线观看免费播放高清 | 免费观看一区二区三区 | 欧美成性色 | 在线观看免费av片 | 欧美极品一区 | 国产精品久久久久无码av色戒 | 亚洲精品二 | 黄色日皮视频 | 日韩精品一区二区三区在线视频 | 欧美日韩资源 | 啪啪五月天 | 成人免费视频免费观看 | 成人免费黄色网址 | 亚洲a一区二区 | 神马午夜电影一区二区三区在线观看 | 天降女子| 狠狠干婷婷 | 欧美一区二区三区大屁股撅起来 | 色www情 | 亚洲性视频网站 | www国产免费 | 2021av| 91深夜视频| 青青操精品 | 综合爱爱网 | 爱爱一区二区三区 | 大黑人交xxx极品hd | 国产精品国产三级国产传播 | 污的网站 | 国模视频一区二区 | 国产精品一区二区av白丝下载 | 台湾swag在线播放 | 17c国产精品 | 精品黑人一区二区三区久久 | 亚洲色图国产视频 | 成人深夜视频在线观看 | 中文字幕精品一区二 | 男女男精品视频站 | 四虎影院国产精品 | 亚洲图片一区 | 嫩草视频在线免费观看 | ,亚洲人成毛片在线播放 | 天天夜夜人人 | 成人av手机在线 | 日韩精品中文字幕在线观看 | 久久综合成人网 | 成人三级做爰av | 香蕉久久夜色精品国产使用方法 | 高清不卡视频 | 国产盗摄视频在线观看 | 特级毛片在线观看 | 欧美激情久久久久久久 | 国产人妖一区 | 国产一卡二卡在线播放 | 精品国产一区二区三区久久久蜜月 | 亚洲综合一区中 | 欧美xxxx8888| 中文在线观看高清视频 | 丁香六月激情综合 | 中文字幕在线视频一区二区三区 | 91成人精品一区在线播放 | 亚洲国产二区 | 免费看成人啪啪 | 自拍99 | 黄色69| 琪琪免费视频 | 国产成人av一区 | 97精品国产97久久久久久粉红 | 国产成人免费av一区二区午夜 | 人人妻人人澡人人爽欧美一区双 | 一区二区网站 | 91狠狠综合 | 亚洲精品视频免费看 | 人人操天天射 | 精品乱子一区二区三区 | 巨骚综合 | 伊人影院视频 | 极品蜜桃臀肥臀-x88av | 波多野结衣a v在线 欧洲免费av | 不卡av中文字幕 | 久久亚洲AV无码专区成人国产 | 中日韩精品在线 |