国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

MySQL的MVCC

這篇具有很好參考價值的文章主要介紹了MySQL的MVCC。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

MVCC(多版本并發(fā)控制)multiversion concurrency control

讀讀并發(fā):可以并發(fā)

讀寫并發(fā)(innoDB):MVCC機制解決?

寫寫:互斥

快照讀:不加鎖的簡單select屬于快照讀,即不加鎖的非阻塞讀

快照讀的基礎是undolog版本鏈

聚簇索引中的隱藏列

trx_id:事務對數(shù)據(jù)改動時,事務將id賦值給trx_id

roll_pointer:舊值指針,roll_pointer生成undolog鏈

ReadView:快照讀,它會告訴我們應該看到的快照

由四個部分組成:

1.creator_trx_id: 創(chuàng)建ReadView的事務的id

2.m_ids:活躍事務(在執(zhí)行未提交)的id

3.min_trx_id: m_ids中的最小值(用于比較)

4.max_trx_id: 生成ReadView時,innoDB將要分配的下一個事務id

事務A(id:100)插入數(shù)據(jù)18;之后事務B(id:200)和C(id:300)并發(fā)執(zhí)行,此時

creator_trx_id: 200

m_ids: 200 300

min_trx_id:200

max_trx_id:301

事務B(id:200)第一次查詢時,會將隱藏字段trx_id(已提交事務A 的id)和min_trx_id進行比較,trx_id(100) 小于min_trx_id(200),則B可以查詢到A的數(shù)據(jù)18;

此時事務C(300)修改了數(shù)據(jù)為20,并提交;

當事務B第二次查詢時,但200<300<301,說明事務C是和事務B在同一時間段執(zhí)行的,B就不能讀到C的數(shù)據(jù),通過 undo log版本鏈,此時讀到的數(shù)據(jù)還是之前的18;

總之:ReadView保證可重復讀,通過邏輯判斷的非阻塞同步機制

mysql事務的本質:多線程訪問同一資源的彼此之間的排序規(guī)則

控制事務的底層機制就是鎖

鎖的底層是MVCC

MVCC使用的是MySQL的Undolog(回滾日志)文章來源地址http://www.zghlxwxcb.cn/news/detail-813297.html

到了這里,關于MySQL的MVCC的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 【MySQL數(shù)據(jù)庫】MySQL數(shù)據(jù)庫管理

    【MySQL數(shù)據(jù)庫】MySQL數(shù)據(jù)庫管理

    Structure Query Language(結構化查詢語言)簡稱SQL,它被美國國家標準局(ANSI)確定為關系型數(shù)據(jù)庫語言的美國標準,后被國際化標準組織(ISO)采納為關系數(shù)據(jù)庫語言的國際標準。數(shù)據(jù)庫管理系統(tǒng)可以通過SQL管理數(shù)據(jù)庫;定義和操作數(shù)據(jù),維護數(shù)據(jù)的完整性和安全性。 數(shù)據(jù):(data)

    2024年02月08日
    瀏覽(49)
  • MySQL數(shù)據(jù)庫:數(shù)據(jù)庫管理系統(tǒng)與安裝MySQL數(shù)據(jù)庫

    MySQL數(shù)據(jù)庫:數(shù)據(jù)庫管理系統(tǒng)與安裝MySQL數(shù)據(jù)庫

    目錄 一、理論 1.數(shù)據(jù)庫管理系統(tǒng) 2.關系型數(shù)據(jù)庫 3.數(shù)據(jù)庫 4.MySQL數(shù)據(jù)庫 5.MySQL部署 二、實驗 1.yum安裝MySQL 2.編譯安裝MySQL 3.配置MySQL數(shù)據(jù)庫的Tab補全? 三、問題 1.數(shù)據(jù)庫登錄報錯 2.數(shù)據(jù)庫密碼復雜度報錯 3.數(shù)據(jù)庫連接報錯 四、總結 (1)概念 數(shù)據(jù)庫管理系統(tǒng)(Database Management

    2024年02月12日
    瀏覽(28)
  • 初識mysql數(shù)據(jù)庫之mysql數(shù)據(jù)庫安裝(centos)

    初識mysql數(shù)據(jù)庫之mysql數(shù)據(jù)庫安裝(centos)

    目錄 一、卸載不需要的環(huán)境 二、安裝mysql yum源 三、安裝mysql 四、登錄mysql 1. 直接登錄 2. 設置免密碼登錄 五、配置my.cnf 六、mysql登錄時的一些選項介紹 要注意,在安裝mysql數(shù)據(jù)庫時,最好將用戶切換為root,避免一些不必要的問題。當數(shù)據(jù)庫安裝好后,普通用戶也可以使用的

    2024年02月03日
    瀏覽(25)
  • MySQL筆記——MySQL數(shù)據(jù)庫介紹以及在Linux里面安裝MySQL數(shù)據(jù)庫,對MySQL數(shù)據(jù)庫的簡單操作,MySQL的外接應用程序使用說明

    MySQL筆記——MySQL數(shù)據(jù)庫介紹以及在Linux里面安裝MySQL數(shù)據(jù)庫,對MySQL數(shù)據(jù)庫的簡單操作,MySQL的外接應用程序使用說明

    MySQL筆記——MySQL數(shù)據(jù)庫介紹以及在Linux里面安裝MySQL數(shù)據(jù)庫,對MySQL數(shù)據(jù)庫的簡單操作,MySQL的外接應用程序使用說明 MySQL筆記——表的分組查詢、表的分頁查詢、表的約束、數(shù)據(jù)庫設計 MySQL案例——多表查詢以及嵌套查詢 MySQL筆記——數(shù)據(jù)庫當中的事務以及Java實現(xiàn)對數(shù)據(jù)庫進

    2024年01月16日
    瀏覽(54)
  • 【數(shù)據(jù)庫】聊聊MVCC機制與BufferPool緩存機制

    【數(shù)據(jù)庫】聊聊MVCC機制與BufferPool緩存機制

    上一篇文章,介紹了隔離級別,MySQL默認是使用可重復讀,但是在可重復讀的級別下,可能會出現(xiàn)幻讀,也就是讀取到另一個session添加的數(shù)據(jù),那么除了配合使用間隙鎖的方式,還使用了MVCC機制解決,保證在可重復讀的場景下,同一個session讀取的數(shù)據(jù)一致性。 MVCC(Multi-Vers

    2024年01月20日
    瀏覽(21)
  • 【MySQL】使用DBeaver數(shù)據(jù)庫管理工具進行MySQL數(shù)據(jù)庫連接

    【MySQL】使用DBeaver數(shù)據(jù)庫管理工具進行MySQL數(shù)據(jù)庫連接

    一、數(shù)據(jù)庫連接信息填寫 1、服務器地址:填寫服務器部署的地址,以及端口號 2、數(shù)據(jù)庫:sys 3、用戶名:root 4、密碼:服務器上面設置的具體密碼 以上信息填寫錯誤的報錯提示 :Access denied for user ‘XXX’@’%’ to database ‘10.42.67.22’ 二、數(shù)據(jù)庫說明 1、數(shù)據(jù)庫連接時選擇的

    2024年02月09日
    瀏覽(109)
  • MySQL示例數(shù)據(jù)庫(MySQL Sample Databases) 之 sakila數(shù)據(jù)庫

    MySQL示例數(shù)據(jù)庫(MySQL Sample Databases) 之 sakila數(shù)據(jù)庫

    官方示例數(shù)據(jù)介紹 MySQL 官方提供了多個示例數(shù)據(jù)庫,在MySQL的學習、開發(fā)和實踐中具有非常重要的作用,能夠幫助初學者更好地理解和應用MySQL的各種功能和特性。 官方示例數(shù)據(jù)具體列表如下: 這些數(shù)據(jù)庫都可以通過如下官方網(wǎng)址進行下載和安裝 sakila數(shù)據(jù)庫 可以在MySQL官方

    2024年02月05日
    瀏覽(17)
  • 【MySQL數(shù)據(jù)庫】--- 初始數(shù)據(jù)庫以及MySQL數(shù)據(jù)庫在Linux云服務器下載(詳細教程)

    【MySQL數(shù)據(jù)庫】--- 初始數(shù)據(jù)庫以及MySQL數(shù)據(jù)庫在Linux云服務器下載(詳細教程)

    ?? 博客主頁:??@披星戴月的賈維斯 ?? 歡迎關注:??點贊??收藏??留言 ??系列專欄:?? MYSQL數(shù)據(jù)庫 ??請不要相信勝利就像山坡上的蒲公英一樣唾手可得,但是請相信,世界上總有一些美好值得我們全力以赴,哪怕粉身碎骨!?? ??一起加油,去追尋、去成為更好的自

    2023年04月24日
    瀏覽(101)
  • 【MySQL數(shù)據(jù)庫】--- 初識數(shù)據(jù)庫以及MySQL數(shù)據(jù)庫在Linux云服務器下載(詳細教程)

    【MySQL數(shù)據(jù)庫】--- 初識數(shù)據(jù)庫以及MySQL數(shù)據(jù)庫在Linux云服務器下載(詳細教程)

    ?? 博客主頁:??@披星戴月的賈維斯 ?? 歡迎關注:??點贊??收藏??留言 ??系列專欄:?? MYSQL數(shù)據(jù)庫 ??請不要相信勝利就像山坡上的蒲公英一樣唾手可得,但是請相信,世界上總有一些美好值得我們全力以赴,哪怕粉身碎骨!?? ??一起加油,去追尋、去成為更好的自

    2024年02月03日
    瀏覽(23)
  • MySQL數(shù)據(jù)庫——MySQL UPDATE:修改數(shù)據(jù)(更新數(shù)據(jù))

    在?MySQL 中,可以使用 UPDATE 語句來修改、更新一個或多個表的數(shù)據(jù)。 使用 UPDATE 語句修改單個表,語法格式為: 語法說明如下: 表名 : 用于指定要更新的表名稱。 SET ?子句: 用于指定表中要修改的列名及其列值。其中,每個指定的列值可以是表達式,也可以是該列對應的

    2024年02月12日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包