真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

什么是MySQL索引原理-創(chuàng)新互聯(lián)

下面一起來(lái)了解下什么是MySQL索引原理,相信大家看完肯定會(huì)受益匪淺,文字在精不在多,希望什么是MySQL索引原理這篇短內(nèi)容是你想要的。

創(chuàng)新互聯(lián)專(zhuān)注于企業(yè)成都營(yíng)銷(xiāo)網(wǎng)站建設(shè)、網(wǎng)站重做改版、正陽(yáng)網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5響應(yīng)式網(wǎng)站、電子商務(wù)商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性?xún)r(jià)比高,為正陽(yáng)等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。

索引原理&本質(zhì)

MySQL官方解釋?zhuān)核饕菫镸ySQL提高獲取數(shù)據(jù)效率的數(shù)據(jù)結(jié)構(gòu),為了快速查詢(xún)數(shù)據(jù)。索引是滿足某種特定查找算法的數(shù)據(jù)結(jié)構(gòu),而這些數(shù)據(jù)結(jié)構(gòu)會(huì)以某種方式指向數(shù)據(jù),從而實(shí)現(xiàn)高效查找數(shù)據(jù)。

B+樹(shù)

MySQL一般以B+樹(shù)作為其索引結(jié)構(gòu),那么B+樹(shù)有什么特點(diǎn)呢?

樹(shù)度為n的話,每個(gè)節(jié)點(diǎn)指針上限為2n+1

非葉子節(jié)點(diǎn)不存儲(chǔ)數(shù)據(jù),只存儲(chǔ)指針?biāo)饕?;葉子節(jié)點(diǎn)存儲(chǔ)所有數(shù)據(jù),不存儲(chǔ)指針

在經(jīng)典B+樹(shù)基礎(chǔ)上增加了順序訪問(wèn)指針,每個(gè)葉子節(jié)點(diǎn)都有指向相鄰下一個(gè)葉子節(jié)點(diǎn)的指針,如圖所示。主要為了提高區(qū)間訪問(wèn)的性能,例如要找key為20到50的所有數(shù)據(jù),只要按著順序訪問(wèn)路線一次性訪問(wèn)所有數(shù)據(jù)節(jié)點(diǎn)。

什么是MySQL索引原理

帶順序訪問(wèn)的B+樹(shù)簡(jiǎn)圖

局部性原理和磁盤(pán)預(yù)讀

那么為什么數(shù)據(jù)庫(kù)系統(tǒng)普遍使用B+樹(shù)作為索引結(jié)構(gòu),而不選例如紅黑樹(shù)其他結(jié)構(gòu)呢?

首先要先來(lái)介紹下局部性原理和磁盤(pán)預(yù)讀的概念。

一般來(lái)說(shuō),索引本身較大,不會(huì)全部存儲(chǔ)在內(nèi)存中,會(huì)以索引文件的形式存儲(chǔ)在磁盤(pán)上。所以索引查找數(shù)據(jù)過(guò)程中就會(huì)產(chǎn)生磁盤(pán)IO操作,而磁盤(pán)IO相對(duì)于內(nèi)存存取非常緩慢,因此索引結(jié)構(gòu)要盡量減少磁盤(pán)IO的存取次數(shù)。

為了減少磁盤(pán)IO,磁盤(pán)往往會(huì)進(jìn)行數(shù)據(jù)預(yù)讀,會(huì)從某位置開(kāi)始,預(yù)先向后讀取一定長(zhǎng)度的數(shù)據(jù)放入內(nèi)存,即局部性原理。因?yàn)榇疟P(pán)順序讀取的效率較高,不需要尋道時(shí)間,因此可以提高IO效率。

預(yù)讀長(zhǎng)度一般為頁(yè)的整數(shù)倍,主存和磁盤(pán)以頁(yè)作為單位交換數(shù)據(jù)。當(dāng)需要讀取的數(shù)據(jù)不在內(nèi)存時(shí),觸發(fā)缺頁(yè)中斷,系統(tǒng)會(huì)向磁盤(pán)發(fā)出讀取磁盤(pán)數(shù)據(jù)的請(qǐng)求,磁盤(pán)找到數(shù)據(jù)的起始位置并向后連續(xù)讀取一頁(yè)或幾頁(yè)數(shù)據(jù)載入內(nèi)存,然后中斷返回,系統(tǒng)繼續(xù)運(yùn)行。而一般數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)時(shí)會(huì)將B+樹(shù)節(jié)點(diǎn)的大小設(shè)置為一頁(yè),這樣每個(gè)節(jié)點(diǎn)的載入只需要一次IO。

看完什么是MySQL索引原理這篇文章后,很多讀者朋友肯定會(huì)想要了解更多的相關(guān)內(nèi)容,如需獲取更多的行業(yè)信息,可以關(guān)注我們的行業(yè)資訊欄目。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。


當(dāng)前名稱(chēng):什么是MySQL索引原理-創(chuàng)新互聯(lián)
轉(zhuǎn)載來(lái)于:http://weahome.cn/article/cccssd.html

其他資訊

在線咨詢(xún)

微信咨詢(xún)

電話咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部