Mysql目前主要有以下幾種索引類型:
(推薦教程:mysql教程)
FULLTEXT,HASH,BTREE,RTREE。
詳細(xì)介紹:
1、FULLTEXT
即為全文索引,目前只有MyISAM引擎支持。其可以在CREATE TABLE ,ALTER TABLE ,CREATE INDEX 使用,不過目前只有 CHAR、VARCHAR ,TEXT 列上可以創(chuàng)建全文索引。
全文索引并不是和MyISAM一起誕生的,它的出現(xiàn)是為了解決WHERE name LIKE “%word%"這類針對(duì)文本的模糊查詢效率較低的問題。
2、HASH
由于HASH的唯一(幾乎100%的唯一)及類似鍵值對(duì)的形式,很適合作為索引。
HASH索引可以一次定位,不需要像樹形索引那樣逐層查找,因此具有極高的效率。但是,這種高效是有條件的,即只在“=”和“in”條件下高效,對(duì)于范圍查詢、排序及組合索引仍然效率不高。
3、BTREE
BTREE索引就是一種將索引值按一定的算法,存入一個(gè)樹形的數(shù)據(jù)結(jié)構(gòu)中(二叉樹),每次查詢都是從樹的入口root開始,依次遍歷node,獲取leaf。這是MySQL里默認(rèn)和最常用的索引類型。
4、RTREE
RTREE在MySQL很少使用,僅支持geometry數(shù)據(jù)類型,支持該類型的存儲(chǔ)引擎只有MyISAM、BDb、InnoDb、NDb、Archive幾種。
相對(duì)于BTREE,RTREE的優(yōu)勢(shì)在于范圍查找。
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com