欧美亚洲中文,在线国自产视频,欧洲一区在线观看视频,亚洲综合中文字幕在线观看

      1. <dfn id="rfwes"></dfn>
          <object id="rfwes"></object>
        1. 站長資訊網(wǎng)
          最全最豐富的資訊網(wǎng)站

          mysql有哪些索引類型

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

          mysql有哪些索引類型

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

          MySQL索引類型詳解

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

          存儲方式區(qū)分

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

          1) B-樹索引

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

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

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

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

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

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

          2) 哈希索引

          哈希(Hash)一般翻譯為“散列”,也有直接音譯成“哈希”的,就是把任意長度的輸入(又叫作預映射,pre-image)通過散列算法變換成固定長度的輸出,該輸出就是散列值。

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

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

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