索引的定義
- 索引是幫助MySQL高效獲取數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)
索引分類
-
普通索引: 即一個索引只包含單個列,一個表可以有多個單列索引 -
唯一索引:索引列的值必須唯一,但允許有空值 -
復(fù)合索引:即一個索引包含多個列 -
聚簇索引:并不是一種單獨(dú)的索引類型,而是一種數(shù)據(jù)存儲方式。具體細(xì)節(jié)取決于不同的實(shí)現(xiàn),InnoDB的聚簇索引其實(shí)就是在同一個結(jié)構(gòu)中保存了B-Tree索引和數(shù)據(jù)行 -
非聚簇索引:不是聚簇索引,就是非聚簇索引
索引相關(guān)語法
-
查看索引:
-
SHOW INDEX FROM table_name
查詢結(jié)果
-
-
創(chuàng)建索引:
CREATE [UNIQUE ] INDEX indexName ON mytable(columnname(length));ALTER TABLE 表名 ADD [UNIQUE ] INDEX [indexName] ON (columnname(length))
-
刪除索引:
DROP INDEX [indexName] ON mytable;
索引名稱命名規(guī)范
- 以
idx開頭,表示這是一個索引 - 后邊跟要加索引的
表的名稱,表明具體要添加索引的表 - 最后跟要添加索引的
列的名稱 - 每部分中間用下劃線
_分隔
