国产睡熟迷奷白丝护士系列精品,中文色字幕网站,免费h网站在线观看的,亚洲开心激情在线

      <sup id="hb9fh"></sup>
          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 都會(huì)被加上一個(gè)記錄鎖。

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

            insert into table? values(2);

            也就是說,另外一個(gè)事務(wù)需要添加一條記錄,并且 id=2,因?yàn)樯厦嫖覀冡槍?duì) 兩個(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è)字符,在不同字符集的編碼方式下,會(huì)產(chǎn)生不同的二進(jìn)制

            常見字符集:

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

            LATIN1字符集:相對(duì)于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é),手把手帶你蛻變精英
            請(qǐng)您保持通訊暢通,專屬學(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類型對(duì)應(yīng)映射?

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

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

            一、數(shù)據(jù)庫事務(wù)完成后結(jié)果返回給客戶端前連接斷開了會(huì)發(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
            低代碼平臺(tái)的開發(fā),數(shù)據(jù)庫是怎么選擇的?

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

            2023-10-13 17:25:32
            快速通道