索引的定義
- 索引是幫助MySQL高效獲取數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)
索引分類
-
普通索引
: 即一個(gè)索引只包含單個(gè)列,一個(gè)表可以有多個(gè)單列索引 -
唯一索引
:索引列的值必須唯一诉位,但允許有空值 -
復(fù)合索引
:即一個(gè)索引包含多個(gè)列 -
聚簇索引
:并不是一種單獨(dú)的索引類型骑脱,而是一種數(shù)據(jù)存儲方式。具體細(xì)節(jié)取決于不同的實(shí)現(xiàn)不从,InnoDB的聚簇索引其實(shí)就是在同一個(gè)結(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
開頭,表示這是一個(gè)索引 - 后邊跟要加索引的
表的名稱
椿息,表明具體要添加索引的表 - 最后跟要添加索引的
列的名稱
- 每部分中間用下劃線
_
分隔