久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

    1. <style id="76ofp"></style>

      <style id="76ofp"></style>
      <rt id="76ofp"></rt>
      <form id="76ofp"><optgroup id="76ofp"></optgroup></form>
      1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

        手機(jī)站
        千鋒教育

        千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

        千鋒教育

        掃一掃進(jìn)入千鋒手機(jī)站

        領(lǐng)取全套視頻
        千鋒教育

        關(guān)注千鋒學(xué)習(xí)站小程序
        隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

        當(dāng)前位置:首頁  >  技術(shù)干貨  > mysql 非少數(shù)索引的等值查詢?yōu)槭裁匆觛ap鎖?

        mysql 非少數(shù)索引的等值查詢?yōu)槭裁匆觛ap鎖?

        來源:千鋒教育
        發(fā)布人:xqq
        時(shí)間: 2023-10-13 16:33:11 1697185991

        一、mysql 非少數(shù)索引的等值查詢?yōu)槭裁匆觛ap鎖

        mysql 中非少數(shù)索引使用的也是 B+ 樹來組織數(shù)據(jù)結(jié)構(gòu)。

        假設(shè) id 的索引結(jié)構(gòu)在葉子節(jié)點(diǎn)從左到右的排列順序是 1 1 2 2 4 5,如果我們只使用 記錄鎖來鎖住索引 2,因?yàn)樗饕杏袃蓚€(gè) 2,所以這兩個(gè) 2 都會被加上一個(gè)記錄鎖。

        現(xiàn)在假設(shè)有另外一個(gè)事務(wù),它執(zhí)行

        insert into table? values(2);

        也就是說,另外一個(gè)事務(wù)需要添加一條記錄,并且 id=2,因?yàn)樯厦嫖覀冡槍?兩個(gè) 2 加的是兩個(gè)記錄鎖,所以這個(gè)事務(wù)可以去執(zhí)行。

        為了避免幻讀,此時(shí)要使用記錄鎖鎖住兩個(gè) 2 的主鍵索引,另外兩個(gè) 2 的非少數(shù)索引也必須鎖住,然后再鎖住三個(gè)區(qū)間。

        我們使用案例驗(yàn)證下這些鎖:

        create table test.testtable

        (

        ??? id??? bigint auto_increment primary key,

        ??? age int(20)???? null

        );

        create index age_index on test.testtable (age);

        insert into testtable? values(1,1);

        insert into testtable? values(3,1);

        insert into testtable? values(5,2);

        insert into testtable? values(7,2);

        insert into testtable? values(9,4);

        insert into testtable? values(13,5);

        begin;

        select * from testtable where age = 2 for update;
        名列前茅個(gè)是 意向排他鎖,這個(gè)不分析了。

        第二個(gè)和第三個(gè)是 next-key 鎖,鎖住的是(1,2] 和 (2,2]。

        第四個(gè)和第五個(gè)是記錄鎖,鎖住兩個(gè) 2 的主鍵索引。

        第六個(gè)是間隙鎖,鎖?。?,4)區(qū)間。

        延伸閱讀:

        二、字符集(Character set)是什么

        是多個(gè)字符(英文字符,漢字字符,或者其他國家語言字符)的集合,字符集種類較多,每個(gè)字符集包含的字符個(gè)數(shù)不同。

        特點(diǎn):

        ①字符編碼方式是用一個(gè)或多個(gè)字節(jié)表示字符集中的一個(gè)字符

        ②每種字符集都有自己特有的編碼方式,因此同一個(gè)字符,在不同字符集的編碼方式下,會產(chǎn)生不同的二進(jìn)制

        常見字符集:

        ASCII字符集:基于羅馬字母表的一套字符集,它采用1個(gè)字節(jié)的低7位表示字符,高位始終為0。

        LATIN1字符集:相對于ASCII字符集做了擴(kuò)展,仍然使用一個(gè)字節(jié)表示字符,但啟用了高位,擴(kuò)展了字符集的表示范圍。

        GBK字符集:支持中文,字符有一字節(jié)編碼和兩字節(jié)編碼方式。

        UTF8字符集:Unicode字符集的一種,是計(jì)算機(jī)科學(xué)領(lǐng)域里的一項(xiàng)業(yè)界標(biāo)準(zhǔn),支持了所有國家的文字字符,utf8采用1-4個(gè)字節(jié)表示字符。

        聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
        10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
        請您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
        免費(fèi)領(lǐng)取
        今日已有369人領(lǐng)取成功
        劉同學(xué) 138****2860 剛剛成功領(lǐng)取
        王同學(xué) 131****2015 剛剛成功領(lǐng)取
        張同學(xué) 133****4652 剛剛成功領(lǐng)取
        李同學(xué) 135****8607 剛剛成功領(lǐng)取
        楊同學(xué) 132****5667 剛剛成功領(lǐng)取
        岳同學(xué) 134****6652 剛剛成功領(lǐng)取
        梁同學(xué) 157****2950 剛剛成功領(lǐng)取
        劉同學(xué) 189****1015 剛剛成功領(lǐng)取
        張同學(xué) 155****4678 剛剛成功領(lǐng)取
        鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
        董同學(xué) 138****2867 剛剛成功領(lǐng)取
        周同學(xué) 136****3602 剛剛成功領(lǐng)取
        相關(guān)推薦HOT
        Java怎么注解實(shí)體類實(shí)現(xiàn)數(shù)據(jù)庫類型與Java類型對應(yīng)映射?

        一、Java注解實(shí)體類實(shí)現(xiàn)數(shù)據(jù)庫類型與Java類型對應(yīng)映射的方法1、選擇合適的持久化框架Java中有多個(gè)持久化框架可供選擇,如Hibernate、MyBatis等...詳情>>

        2023-10-13 17:57:42
        數(shù)據(jù)庫事務(wù)完成后結(jié)果返回給客戶端前連接斷開了會發(fā)生什么?

        一、數(shù)據(jù)庫事務(wù)完成后結(jié)果返回給客戶端前連接斷開了會發(fā)生的情況1、事務(wù)提交失敗如果在事務(wù)提交完成之前連接斷開,數(shù)據(jù)庫可能無法將事務(wù)結(jié)果持...詳情>>

        2023-10-13 17:52:47
        mysql.sock文件是怎么起作用的?

        一、mysql.sock文件的工作原理在MySQL中,mysql.sock文件是用于實(shí)現(xiàn)本地套接字(socket)連接的一種機(jī)制。它在Unix或類Unix系統(tǒng)上使用,允許客...詳情>>

        2023-10-13 17:39:11
        oracle為什么要繼續(xù)開發(fā)mysql?

        一、oracle為什么要繼續(xù)開發(fā)mysql應(yīng)該是之前收購的時(shí)候有協(xié)議吧,而且,本身面向的客戶也不太一樣。oracle也有不付費(fèi)的用戶,mysql有社區(qū)版,但...詳情>>

        2023-10-13 17:27:29
        低代碼平臺的開發(fā),數(shù)據(jù)庫是怎么選擇的?

        一、低代碼平臺的開發(fā),數(shù)據(jù)庫是怎么選擇的如果你選擇的低代碼開發(fā)平臺支持多種數(shù)據(jù)庫,那就選你最熟悉的吧。除了oracle這種賊貴的,和postgres...詳情>>

        2023-10-13 17:25:32
        快速通道
        手机| 黑龙江省| 长岭县| 翁源县| 德令哈市| 南京市| 喜德县| 南宁市| 安福县| 十堰市| 江口县| 深水埗区| 永昌县| 凤凰县| 黔南| 原阳县| 霍山县| 临城县| 砀山县| 彭州市| 英德市| 尉犁县| 留坝县| 威远县| 海晏县| 蓬安县| 新蔡县| 保定市| 阿坝| 金堂县| 若羌县| 安国市| 青州市| 荆州市| 岳西县| 旬邑县| 南丹县| 桂林市| 原平市| 河西区| 青岛市|