




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、MySQL事務和鎖事務和鎖張方雪張方雪大綱大綱 事務 隔離級別 MVCC 加鎖 死鎖 解決死鎖Transaction 集中類型的事務: 扁平事務 帶有保存點的扁平事務 鏈事務 嵌套事務 分布式事務ACIDIsolation Level StandardIsolation的各種實現(xiàn)的各種實現(xiàn) MyISAM 不支持事務 在 PostgreSQL 里,只有兩種獨立的隔離級別,RC和Serializable, 默認RC. Oracle 跟PG差不多. Innodb 實現(xiàn)上完全支持者4個隔離級別, 默認RR.設置隔離級別設置隔離級別select global.tx_isolation, tx_isola
2、tion;set global | session tx_isolation=read-commited;如果帶有global, 那么從當前時間往后, 創(chuàng)建的session都使用設置的級別, 如果是session關鍵字, 那么當有當前session被影響.Innodb MVCC InnoDB中每行隱含2個字段:更新或修改版本號和刪除版本號(可以為空),每一個事務開始也有自己的版本號且是遞增 MVCC的意義: 讀寫不沖突, 實現(xiàn)了可重復讀, 提高了性能.Innodb MVCC1. select 同時滿足2個條件的行,才能被返回:*行的被修改版本號當前事務的版本號,說明該行的是被該事務的后面啟動事
3、務刪除過(接著看下去.)2. insert 對新插入的行,行的更新版本被修改為該事務的版本號3. delete 對于刪除,innodb直接把該行的被刪除版本號設置為當前事務版本號,相當于標記刪除,不是實際刪除4.update 在更新行的時候,innodb會把原來的行復制一份到回滾端的表空間中,若成功,并把當前事務的版本號作為該行的更新版本號,否則rollbackMVCC在在RC和和RR的區(qū)別的區(qū)別 RR下面, select 一直使用當前事務最開始讀到的版本 RC下面, 每次select , 為了督導最新提交, 都會去讀最新的版本.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 與之對應的其實還有個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. 鎖之間的兼容關系鎖之間的兼容關系一致性非鎖定讀一致性非鎖定讀加鎖加鎖 基于MVCC機制, select操作是在讀取un
8、do中歷史數(shù)據(jù), 因為歷史數(shù)據(jù)不需要修改, 所以不需要加任何鎖.Locking reads 一致性鎖定讀, 不會使用undo日志, 會直接對當前記錄加鎖. select for update 會加x鎖, select lock in share mode 回家s鎖. 其他的都相同.提問提問 什么場景下, 需要使用select for update 而不是select in share mode?加鎖信息解讀加鎖信息解讀insert加鎖加鎖 Insert不會自己加鎖,而在插入之后,如果還沒有提交,此時正好有其它事務做更新或者刪除操作了,則這個操作會為這個插入操作加一把鎖,然后自己再加一把鎖 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)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 甘蔗產(chǎn)量預測模型與可視化趨勢分析
- 黑龍江鐵力市四中學2025屆七年級數(shù)學第一學期期末復習檢測模擬試題含解析
- 重慶十一中2025屆八上數(shù)學期末調(diào)研試題含解析
- 企業(yè)稅收優(yōu)惠政策解讀與應用合同范本
- 學校學生自救自護的消防技能學習資料
- 《1+X網(wǎng)店運營推廣考證》課件
- 大數(shù)據(jù)技術及其在各領域的應用研究
- 2025至2030基于細胞的分析行業(yè)產(chǎn)業(yè)運行態(tài)勢及投資規(guī)劃深度研究報告
- 游樂場及動物園的排水優(yōu)化策略
- 2025至2030滌棉行業(yè)發(fā)展趨勢分析與未來投資戰(zhàn)略咨詢研究報告
- 歷史人教部編版八年級(上冊)第13課五四運動課件(23張)2024版新教材
- 美國技術服務合同英文翻譯
- 企業(yè)數(shù)字化生存指南
- 醫(yī)院醫(yī)療器械臨床試驗項目資料備案清單
- YDT 5206-2023寬帶光纖接入工程技術規(guī)范
- 新疆警察學院面試問題及答案
- 小學三到六年級全冊單詞默寫(素材)-2023-2024學年譯林版(三起)小學英語
- 鐵嶺市高校畢業(yè)生“三支一扶”計劃招募筆試真題2022
- 天然氣泄漏事故演練方案及評估
- 《養(yǎng)老機構認知障礙照護專區(qū)設置與服務規(guī)范》
- 婦科炎癥健康教育課件
評論
0/150
提交評論