7.1 事務特性:acid見日誌檔案,待更新7.2 事務實現
7.3 事務的隔離級別
7.4 其他
7.5 mvcc多版本併發控制
(1)四種問題
髒讀(dirty read)
不可重複讀
幻讀(phantom read)
(2)隔離級別
讀已提交(rc):解決髒讀
讀操作用mvcc保證,基於語句級別的快照讀,讀一條語句看到的是乙個snapshoot version,解決了髒讀問題(只看到更新前的版本)。
可重複讀(rr):解決不可重複讀
讀操作用mvcc保證,基於事務級別的快照讀關於是否解決幻讀:有待考證,說法不一,個人感覺基本解決了,但是存在例外
其他例外ref:
序列化(serialiable)
(3)總結
兩階段鎖協議:總得來說就是得先拿到相應的鎖,才能操作,操作完了得釋放鎖
當前讀和快照讀
當前讀:讀取的是最新版本,讀加鎖
一致性鎖定讀 / 一致性非鎖定讀
一致性非鎖定讀(也叫 一致性讀)——> 就是快照讀
consistent read(一致性讀)是rc和rr隔離級別下普通select語句預設的模式。一致性讀不會給它所訪問的表加任何形式的鎖,因此其它事務可以同時併發的修改它們。
2. 每次操作某一行都會生成一條undo log日誌,回滾指標指向前一條記錄
insert:
delete:
update:
3. 在每個事務中,存在乙個readview = [ 未提交的事務id有哪些 ] + 最大事務id
C Primer 複習雜記(第七章)
不適合複製實參的情況包括 通常,陣列以非引用型別傳遞,此時陣列會轉換為指向第乙個元素的指標,形參中陣列大小並沒有意義。然而如果形參是陣列的引用,則編譯器不會將陣列實參轉化為指標,而是傳遞陣列引用本身。此時陣列大小會由編譯器進行檢查。例 void printvalues int arr 10 int ...
Linux複習篇(第七章)
互動程序。它是由某種shell程式啟動的程序,如執行乙個命令。互動程序既可以在前台執行,也可以在後台執行。批處理程序。這種程序和終端沒有聯絡,但它是乙個程序系列。監控程序。也稱為守護程序,它是在linux系統啟動時執行的程序,並且執行在後台。at命令用於在使用者指定的時刻執行指定的命令或命令序列。指...
python第七章 python教程(第七章)
字典和集合 字典是python中唯一,乙個對映型別 如何建立乙個字典,如下 dict dict 滲透 網路安全 怎麼理解字典呢?現實生活中的字典可以通過首字母進行查詢要查詢的漢子,python也可以這樣理解,通過 前的元素查詢到冒號後的元素。為什麼說字典是唯一乙個對映型別呢?看圖。對映型別區別與序列...