一、索引說明
索引分單列索引群組合索引。
A.單列索引,即一個索引隻包含單個列,一個表可以有多個單列索引,但這不是組合索引。
B.組合索引,即一個索引包含多個列。
索引也會有它的缺點:
雖然索引大大提高了查詢速度,同時卻會降低更新表的速度,
1. 如對表進行INSERT、UPDATE和DELETE。因為更新表時,MySQL不僅要儲存資料,還要儲存一下索引檔案。
2. 建立索引會占用磁盤空間的索引檔案。
二、索引類型
Mysql目前主要有以下幾種索引類型:FULLTEXT,HASH,BTREE,RTREE。
1. FULLTEXT
即為全文索引,目前隻有MyISAM引擎支援。其可以在CREATE TABLE ,ALTER TABLE ,CREATE INDEX 使用,不過目前隻有 CHAR、VARCHAR ,TEXT 列上可以建立全文索引。
全文索引并不是和MyISAM一起誕生的,它的出現是為了解決WHERE name LIKE “%word%"這類針對文本的模糊查詢效率較低的問題。
2. HASH
由于HASH的唯一(幾乎100%的唯一)及類似鍵值對的形式,很适合作為索引。
HASH索引可以一次定位,不需要像樹形索引那樣逐層查找,是以具有極高的效率。但是,這種高效是有條件的,即隻在“=”和“in”條件下高效,對于範圍查詢、排序及組合索引仍然