開課吧mysql----------索引----------04

行鎖是如何加上的?

當前讀和快照讀:

cru加了排他鎖。

--------------------------------------------------------------------------------------------------

聚集索引:

主鍵索引:

---------------------------

隔離級別詳解。

髒讀 可重複讀 幻讀 

讀提交:RC

可重複讀:RR

------------------

加鎖的分類:

具體的看文檔即可。

聚集索引/聚簇索引:

主鍵索引 (InnoDB必須有),葉子節點的名稱是主鍵,值是一行數據

次要(第二/輔助)索引,葉子節點的名稱是索引列的名稱,葉子節點的值是主鍵。

回表。

-------------------------------------------------------------------------------------------------------------------------------------------------------------------

組合1:id是主鍵 ,讀提交

id是主鍵時,此SQL只需要在id=10這條記錄上加X鎖即可。只能讀歷史版本,不可能產生讀 未提交的事情。

組合2:id是二級的唯一索引,讀提交

一個知識點:快照讀讀的是可見的版本,當前讀讀的是最新的版本。

這個組合現在看不懂了,看下極客時間:https://time.geekbang.org/column/article/68963

可重複讀就是在事務期間看到的是一樣的。

讀提交就是隻有對方提交了我才能看到,否則就是快照讀。

組合3:id是二級非唯一索引,讀提交

看下非唯一索引

上面那個表格:第一行就是非主鍵不唯一id列的所有的值,第二行是主鍵的值。

下面那個表格:第一行是主鍵的值,第二行是主鍵這一行的所有值。

此時加鎖加的是多條記錄。

出現幻讀:

不可以髒讀但是可以幻讀的。

MVCC的什麼特徵:讀不加鎖,讀寫互不影響。

組合4:沒有索引,讀提交

因爲是刪除的操作,走全表掃描,全表都會加排他鎖的。但是加鎖不符合條件的立馬就放開鎖。

----------------------------------------------------------------------------------------------------------------------------------------------------

RR級別的。

組合7:id是二級的非唯一索引,可重複讀的隔離級別。

這裏的間隙指的是:6-10 10-10 10-11

不只是在兩個10上加x鎖,還要在間隙上加鎖。

組合8:

 

很可怕的。

-------------------------------------------------------------------------------------------------------------------------------------------------

下半節課

--------------------------------------------------------------------------------------------------------------------------------------------------

最左前綴:最左邊的字段必須要加入到索引中,否則就走的是全表掃描。

知識點:組合索引的前面的字段如果使用的是範圍搜索,那麼在它後面的字段不會在搜索中使用到的。

知識點:整個where條件中如果有多個字段有索引,那麼只會選擇一個索引使用。

--------------------------------------------------------------------------------------------------------------------------------------------------------------

死鎖情況1:

死鎖情況2:

加鎖的話查出來就解開了?

--------------------------------------------------------------------------------------------------------------------------

B+tree。

組合索引是最有效的節省空間的。

總結:什麼是幻讀,就是一個事務同時產生了兩次的當前讀,但是結果是不一樣的。

在讀的期間加鎖了,就不能插入了,在這個範圍內。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章