亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

  • 站長資訊網(wǎng)
    最全最豐富的資訊網(wǎng)站

    mysql有哪些索引類型

    索引類型有:1、B-樹索引,使表中的每一行都會(huì)在索引上有一個(gè)對(duì)應(yīng)值;2、哈希索引,可根據(jù)索引列對(duì)應(yīng)的哈希值的方法獲取表的記錄行;3、普通索引,允許在定義索引的列中插入重復(fù)值和空值;4、唯一索引,可以避免數(shù)據(jù)出現(xiàn)重復(fù);5、主鍵索引,是為主鍵字段創(chuàng)建的索引;6、空間索引,是對(duì)空間數(shù)據(jù)類型的字段建立的索引;7、全文索引,用來查找文本中的關(guān)鍵字;8、單列索引,即索引只包含原表的一個(gè)列。

    mysql有哪些索引類型

    本教程操作環(huán)境:windows7系統(tǒng)、mysql8版本、Dell G3電腦。

    MySQL索引類型詳解

    索引的類型和存儲(chǔ)引擎有關(guān),每種存儲(chǔ)引擎所支持的索引類型不一定完全相同。MySQL 索引可以從存儲(chǔ)方式、邏輯角度和實(shí)際使用的角度來進(jìn)行分類。

    存儲(chǔ)方式區(qū)分

    根據(jù)存儲(chǔ)方式的不同,MySQL 中常用的索引在物理上分為 B-樹索引和 HASH 索引兩類,兩種不同類型的索引各有其不同的適用范圍。

    1) B-樹索引

    B-樹索引又稱為 BTREE 索引,目前大部分的索引都是采用 B-樹索引來存儲(chǔ)的。

    B-樹索引是一個(gè)典型的數(shù)據(jù)結(jié)構(gòu),其包含的組件主要有以下幾個(gè):

    • 葉子節(jié)點(diǎn):包含的條目直接指向表里的數(shù)據(jù)行。葉子節(jié)點(diǎn)之間彼此相連,一個(gè)葉子節(jié)點(diǎn)有一個(gè)指向下一個(gè)葉子節(jié)點(diǎn)的指針。
    • 分支節(jié)點(diǎn):包含的條目指向索引里其他的分支節(jié)點(diǎn)或者葉子節(jié)點(diǎn)。
    • 根節(jié)點(diǎn):一個(gè) B-樹索引只有一個(gè)根節(jié)點(diǎn),實(shí)際上就是位于樹的最頂端的分支節(jié)點(diǎn)。

    基于這種樹形數(shù)據(jù)結(jié)構(gòu),表中的每一行都會(huì)在索引上有一個(gè)對(duì)應(yīng)值。因此,在表中進(jìn)行數(shù)據(jù)查詢時(shí),可以根據(jù)索引值一步一步定位到數(shù)據(jù)所在的行。

    B-樹索引可以進(jìn)行全鍵值、鍵值范圍和鍵值前綴查詢,也可以對(duì)查詢結(jié)果進(jìn)行 ORDER BY 排序。但 B-樹索引必須遵循左邊前綴原則,要考慮以下幾點(diǎn)約束:

    • 查詢必須從索引的最左邊的列開始。
    • 查詢不能跳過某一索引列,必須按照從左到右的順序進(jìn)行匹配。
    • 存儲(chǔ)引擎不能使用索引中范圍條件右邊的列。

    2) 哈希索引

    哈希(Hash)一般翻譯為“散列”,也有直接音譯成“哈?!钡模褪前讶我忾L度的輸入(又叫作預(yù)映射,pre-image)通過散列算法變換成固定長度的輸出,該輸出就是散列值。

    哈希索引也稱為散列索引HASH 索引。MySQL 目前僅有 MEMORY 存儲(chǔ)引擎和 HEAP 存儲(chǔ)引擎支持這類索引。其中,MEMORY 存儲(chǔ)引擎可以支持 B-樹索引和 HASH 索引,且將 HASH 當(dāng)成默認(rèn)索引。

    HASH 索引不是基于樹形的數(shù)據(jù)結(jié)構(gòu)查找數(shù)據(jù),而是根據(jù)索引列對(duì)應(yīng)的哈希值的方法獲取表的記錄行。哈希索引的最大特點(diǎn)是訪問速度快,但也存在下面的一些缺點(diǎn):

    • MySQL 需要讀取表中索引列的值來參與散列計(jì)算,散列計(jì)算是一個(gè)比較耗時(shí)的操作。也就是說,相對(duì)于 B-樹索引來說,建立哈希索引會(huì)耗費(fèi)
    贊(0)
    分享到: 更多 (0)
    網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)