mysql索引方式 MySQL資料庫的索引方式

2021-10-17 13:31:57 字數 1040 閱讀 4648

mysql目前主要支援索引方法:b-tree,hash,r-tree

b-tree

b-tree是最常見的索引型別,所有的列都是排序過的,每個葉節點跟節點距離相等。因此,b-tree適合查詢範圍的資料,可以直接支援資料排序。

b-tree在myisanyo中,索引檔案是記錄磁碟的位址;而在innodb中有索引,所以可以根據索引記錄,直接找到葉節點的資料域。

hash索引

特點:1.檢索效率搞,索引的檢索可以一次定位,不像b-tree索引需要從根節點到枝節點,需要多次io訪問。

2.由於hash索引比較的是進行hash運算之後的hash值,所以即使取滿足某個hash鍵值的資料的記錄條數,也無法從hash索引中直接完成查詢,還是要通過訪問表中的實際資料進行相應的比較,並得到相應的結果。因此,在任何時候都不能避免表掃瞄。

3.僅支援精確查詢,例如:"=","in"和"<=>",不能使用範圍查詢:由於hash索引比較的是進行hash運算之後的hash值,無法判斷返回,所以它只能用於等值的過濾,不能用於基於範圍的過濾。

4.不支援排序:由於hash索引中存放的是經過hash計算之後的hash值,而且hash值的大小關係並不一定和hash運算前的鍵值完全一樣,所以資料庫無法利用索引的資料來避免任何排序運算。

5.只有memory引擎支援顯式的hash索引,但是它的hash是nonunique的,衝突太多時也會影響查詢效能。memory引擎預設的索引型別即是hash索引,雖然它也支援b-tree索引

r-tree索引

r-tree在mysql很少使用,僅支援geometry資料型別,支援該型別的儲存引擎只有myisam、bdb、innodb、ndb、archive幾種。

MySQL 索引型別 索引方式

一 索引型別 1 normal 表示普通索引 2 unique 表示唯一索引,不允許重複的索引 3 full text 表示全文索引,用於在一篇文章中,檢索文字資訊的。二 建立索引的原則 1 選擇唯一性索引 2 為經常需要排序 分組和聯合操作的字段建立索引 3 為常作為查詢條件的字段建立索引 4 限...

mysql索引型別和方式 mysql索引型別和方式

索引 資料庫的索引就像一本書的目錄,能夠加快資料庫的查詢速度。mysql索引有四種primary index unique fulltext,其中primary index unique是一類,fulltext是一類。這四種都是單列索引,也就是他們都是作用於單個一列,所以也稱單列索引 但是所以乙個索...

mysql表編譯 編譯方式安裝MySQL資料庫

一 環境介紹 作業系統 centos 編譯工具 cmake 2.8.8.tar 資料庫版本 mysql 5.5.32.tar 二 安裝步驟 2.1 安裝cmake工具 2.1.1 安裝c編譯器 root oldcat t yum install gcc y 2.1.2 解壓並編譯安裝cmake ro...