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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql的快照速度_mysql 快照读 当前度

發布時間:2023/12/19 数据库 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql的快照速度_mysql 快照读 当前度 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

innodb的默認事務隔離級別是rr(可重復讀)。它的實現技術是mvcc。基于版本的控制協議。該技術不僅可以保證innodb的可重復讀,而且可以防止幻讀。但是它防止的是快照讀,也就是讀取的數據雖然是一致的,但是數據是歷史數據。如何做到保證數據是一致的(也就是一個事務,其內部讀取對應某一個數據的時候,數據都是一樣的),同時讀取的數據是最新的數據。innodb提供了一個間隙鎖的技術。也就是結合grap鎖與行鎖,達到最終目的。當使用索引進行插入的時候,innodb會將當前的節點和上一個節點加鎖。這樣當進行select的時候,就不允許加x鎖。那么在進行該事務的時候,讀取的就是最新的數據。

實現:

1. 快照讀(snapshot read)

簡單的select操作(不包括 select ... lock in share mode, select ... for update)

2.當前讀(current read)

select ... lock in share mode

select ... for update

insert

update

delete

在RR級別下,快照讀是通過MVVC(多版本控制)和undo log來實現的,當前讀是通過加record lock(記錄鎖)和gap lock(間隙鎖)來實現的。

所以從上面的顯示來看,如果需要實時顯示數據,還是需要通過加鎖來實現。這個時候會使用next-key技術來實現。

總結:在mysql中,提供了兩種事務隔離技術,第一個是mvcc,第二個是next-key技術。這個在使用不同的語句的時候可以動態選擇。不加lock inshare mode之類的就使用mvcc。否則使用next-key。mvcc的優勢是不加鎖,并發性高。缺點是不是實時數據。next-key的優勢是獲取實時數據,但是需要加鎖。同時需要注意幾點:1.事務的快照時間點是以第一個select來確認的。所以即便事務先開始。但是select在后面的事務的update之類的語句后進行,那么它是可以獲取后面的事務的對應的數據。2.mysql中數據的存放還是會通過版本記錄一系列的歷史數據,這樣,可以根據版本查找數據。

總結

以上是生活随笔為你收集整理的mysql的快照速度_mysql 快照读 当前度的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。