您好,登錄后才能下訂單哦!
本文主要給大家介紹mysql數(shù)據(jù)庫索引用處,文章內(nèi)容都是筆者用心摘選和編輯的,具有一定的針對性,對大家的參考意義還是比較大的,下面跟筆者一起了解下mysql數(shù)據(jù)庫索引用處吧。
MySQL官方對索引的定義為:索引是幫助MySQL高效獲取數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)。
我們可以簡單理解為:快速查找排好序的一種數(shù)據(jù)結(jié)構(gòu)。
Mysql索引主要有兩種結(jié)構(gòu):B+Tree索引和Hash索引。
我們平常所說的索引,如果沒有特別指明,一般都是指B樹結(jié)構(gòu)組織的索引(B+Tree索引)。索引如上圖所示。
最外層淺藍(lán)色磁盤塊1里有數(shù)據(jù)17、35(深藍(lán)色)和指針P1、P2、P3(黃色)。P1指針表示小于17的磁盤塊,P2是在17-35之間,P3指向大于35的磁盤塊。真實數(shù)據(jù)存在于子葉節(jié)點也就是最底下的一層3、5、9、10、13......非葉子節(jié)點不存儲真實的數(shù)據(jù),只存儲指引搜索方向的數(shù)據(jù)項,如17、35。
查找過程:例如搜索28數(shù)據(jù)項,首先加載磁盤塊1到內(nèi)存中,發(fā)生一次I/O,用二分查找確定在P2指針。接著發(fā)現(xiàn)28在26和30之間,通過P2指針的地址加載磁盤塊3到內(nèi)存,發(fā)生第二次I/O。用同樣的方式找到磁盤塊8,發(fā)生第三次I/O。
真實的情況是,上面3層的B+Tree可以表示上百萬的數(shù)據(jù),上百萬的數(shù)據(jù)只發(fā)生了三次I/O而不是上百萬次I/O,時間提升是巨大的。
看完以上關(guān)于mysql數(shù)據(jù)庫索引用處,很多讀者朋友肯定多少有一定的了解,如需獲取更多的行業(yè)知識信息 ,可以持續(xù)關(guān)注我們的行業(yè)資訊欄目的。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。