




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、MySQL事務(wù)和鎖事務(wù)和鎖張方雪張方雪大綱大綱 事務(wù) 隔離級別 MVCC 加鎖 死鎖 解決死鎖Transaction 集中類型的事務(wù): 扁平事務(wù) 帶有保存點的扁平事務(wù) 鏈?zhǔn)聞?wù) 嵌套事務(wù) 分布式事務(wù)ACIDIsolation Level StandardIsolation的各種實現(xiàn)的各種實現(xiàn) MyISAM 不支持事務(wù) 在 PostgreSQL 里,只有兩種獨立的隔離級別,RC和Serializable, 默認(rèn)RC. Oracle 跟PG差不多. Innodb 實現(xiàn)上完全支持者4個隔離級別, 默認(rèn)RR.設(shè)置隔離級別設(shè)置隔離級別select global.tx_isolation, tx_isola
2、tion;set global | session tx_isolation=read-commited;如果帶有g(shù)lobal, 那么從當(dāng)前時間往后, 創(chuàng)建的session都使用設(shè)置的級別, 如果是session關(guān)鍵字, 那么當(dāng)有當(dāng)前session被影響.Innodb MVCC InnoDB中每行隱含2個字段:更新或修改版本號和刪除版本號(可以為空),每一個事務(wù)開始也有自己的版本號且是遞增 MVCC的意義: 讀寫不沖突, 實現(xiàn)了可重復(fù)讀, 提高了性能.Innodb MVCC1. select 同時滿足2個條件的行,才能被返回:*行的被修改版本號當(dāng)前事務(wù)的版本號,說明該行的是被該事務(wù)的后面啟動事
3、務(wù)刪除過(接著看下去.)2. insert 對新插入的行,行的更新版本被修改為該事務(wù)的版本號3. delete 對于刪除,innodb直接把該行的被刪除版本號設(shè)置為當(dāng)前事務(wù)版本號,相當(dāng)于標(biāo)記刪除,不是實際刪除4.update 在更新行的時候,innodb會把原來的行復(fù)制一份到回滾端的表空間中,若成功,并把當(dāng)前事務(wù)的版本號作為該行的更新版本號,否則rollbackMVCC在在RC和和RR的區(qū)別的區(qū)別 RR下面, select 一直使用當(dāng)前事務(wù)最開始讀到的版本 RC下面, 每次select , 為了督導(dǎo)最新提交, 都會去讀最新的版本.Record lock A lock on an index r
4、ecord. For example, SELECT c1 FOR UPDATE FROM t WHERE c1 = 10; prevents any other transaction from inserting, updating, or deleting rows where the value of t.c1 is 10.Gap lock A lock on a gap between index records, or a lock on the gap before the first or after the last index record. Gap locks are p
5、art of the tradeoff between performance and concurrency, and are used in some transaction isolation levels and not others.Next-key lock A combination of a record lock on the index record and a gap lock on the gap before the index record 與之對應(yīng)的其實還有個Previous-key lock, Innodb使用Next-key lockIntension loc
6、k A kind of lock that applies to the table level, used to indicate what kind of lock the transaction intends to acquire on rows in the table. Different transactions can acquire different kinds of intention locks on the same table, but the first transaction to acquire an intention exclusive (IX) lock
7、 on a table prevents other transactions from acquiring any S or X locks on the table. Conversely, the first transaction to acquire an intention shared (IS) lock on a table prevents other transactions from acquiring any X locks on the table. 鎖之間的兼容關(guān)系鎖之間的兼容關(guān)系一致性非鎖定讀一致性非鎖定讀加鎖加鎖 基于MVCC機制, select操作是在讀取un
8、do中歷史數(shù)據(jù), 因為歷史數(shù)據(jù)不需要修改, 所以不需要加任何鎖.Locking reads 一致性鎖定讀, 不會使用undo日志, 會直接對當(dāng)前記錄加鎖. select for update 會加x鎖, select lock in share mode 回家s鎖. 其他的都相同.提問提問 什么場景下, 需要使用select for update 而不是select in share mode?加鎖信息解讀加鎖信息解讀insert加鎖加鎖 Insert不會自己加鎖,而在插入之后,如果還沒有提交,此時正好有其它事務(wù)做更新或者刪除操作了,則這個操作會為這個插入操作加一把鎖,然后自己再加一把鎖 In
9、sert acts as if locked by itself. Update by primary key 如果要更新的記錄存在, 加一把 record lock. 如果記錄不存在, 加gap lock. 如果整張表是空的, gap lock鎖住(-INF, INF)Update by unique key 如果要更新的記錄存在, 在唯一鍵上有一把行鎖, 在主鍵上有一把行鎖 如果記錄不存在, 加gap lock.limit 對鎖的影響對鎖的影響 update limit 1, 只會對一條記錄加鎖Update by secondary key 如果記錄存在, 那么就對索引加next-key lock, 同時對所有更新的記錄加record lock 如果不存在, 那么就是一把gap lock range condition, 多把next-key lock.更多可以分析的例子更多可以分析的例子 聯(lián)合索引 join like .Deadlock處理死鎖處理死鎖 遇到死鎖直接回滾 超時機制(FIFO) Wait-for-graph(回滾undo量最小的)避免死鎖避免死鎖 R
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國片梭織機行業(yè)市場發(fā)展規(guī)模及投資潛力研判報告
- 地球環(huán)境數(shù)據(jù)的智能分析與預(yù)測-洞察闡釋
- 褶皺沖斷帶構(gòu)造繼承性-洞察闡釋
- 智能化衡器設(shè)計趨勢-洞察闡釋
- 大連理工大學(xué)《思辨英語閱讀》2023-2024學(xué)年第二學(xué)期期末試卷
- 上海紐約大學(xué)《老年學(xué)概論》2023-2024學(xué)年第二學(xué)期期末試卷
- 榆林職業(yè)技術(shù)學(xué)院《中學(xué)生物學(xué)命題與解題》2023-2024學(xué)年第二學(xué)期期末試卷
- 南寧師范大學(xué)師園學(xué)院《文學(xué)基礎(chǔ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 承德護理職業(yè)學(xué)院《微生物學(xué)及免疫學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 上海工商職業(yè)技術(shù)學(xué)院《數(shù)字建?!?023-2024學(xué)年第二學(xué)期期末試卷
- 九師聯(lián)盟2024-2025學(xué)年高二下學(xué)期6月摸底聯(lián)考語文試題(含答案)
- 非遺文化掐絲琺瑯景泰藍
- 電動葫蘆考試題及答案
- 2025廣東省勞動合同樣本
- 2025餐飲兼職合同樣本
- 農(nóng)資安全宣傳課件
- 綠色營銷試題及答案詳解
- 2025年三級電子商務(wù)師(網(wǎng)商)理論考試題庫(濃縮500題)
- 2025年下半年浙江省杭州建德市部分事業(yè)單位招聘(134人)易考易錯模擬試題(共500題)試卷后附參考答案
- 炎癥性腸病營養(yǎng)治療專家共識(第三版)解讀課件
- 2025國家開放大學(xué)電大【信息管理概論】形考12答案 及 一體化終結(jié)性測試答案
評論
0/150
提交評論