MySQL索引原理
索引可以提升查詢速度,會影響 where 查詢,以及 order by 排序等。
第1節 MySQL索引類型
- 從索引存儲結構劃分:B Tree索引、Hash索引、FULLTEXT 全文索引、R Tree索引
- 從應用層次劃分:普通索引、唯一索引、主鍵索引、複合索引
- 從索引鍵值類型劃分:主鍵索引、輔助索引(二級索引)
- 從資料存儲和索引鍵值邏輯關系劃分:聚簇索引(聚集索引)、非聚簇索引(非聚集索引)
普通索引
這是最基本的索引類型,基于普通字段建立的索引,沒有任何限制。
建立普通索引的方法如下:
CREATE INDEX <索引的名字> ON tablename (字段名);
ALTER TABLE tablename ADD INDEX [索引的名字] (字段名);
CREATE TABLE tablename ( [...], INDEX [索引的名字] (字段名) );
唯一索引
與普通索引類似,不同的就是:索引字段的值必須唯一,但允許有空值。
CREATE UNIQUE INDEX <索引的名字> ON tablename (字段名);
ALTER TABLE tablename ADD UNIQUE INDEX [索引的名字] (字段名);
CREATE TABLE tablena