索引的分類
1. 普通索引和唯一索引
普通索引是mysql 中的基本索引類型,允許在自定義索引的列中插入重復(fù)值和空值。
唯一索引,索引列的值必須唯一,但允許有空值。如果是組合索引,則列值的組合必須唯一。主鍵索引是一種特殊的唯一索引,不允許有空值。
2.單列索引和組合索引
單列索引即一個(gè)索引只包含單個(gè)列,一個(gè)表可以有多個(gè)單列索引。
組合索引指在表的多個(gè)字段組合上創(chuàng)建索引,只有在查詢條件中使用了這些字段的左邊字段時(shí),索引才會(huì)被使用。使用組合索引時(shí)遵循最左前綴組合。
3.全文索引
全文索引類型為FULLTEXT,在定義索引的列上支持值的全文查找,允許在這些索引列中插入重復(fù)值和空值。全文索引可以在char,Varchar 或者
TEXT類型列上創(chuàng)建。MYSQL中只有MyIsAM存儲(chǔ)引擎支持全文索引
4.空間索引
空間索引是對(duì)空間數(shù)據(jù)類型的字段建立索引,MYSQL中空間數(shù)據(jù)類型有4種,分別是:GEOMETRY、POINT、LINESTRING&POLYGON。MYSQL使用SPATIAL關(guān)鍵字進(jìn)行擴(kuò)展。使得能夠用于創(chuàng)建正規(guī)索引類似語法創(chuàng)建空間索引。創(chuàng)建空間索引的列,必須將其聲明為NOT NULL ,空間索引只能在存儲(chǔ)引擎為MyIsAM的表中創(chuàng)建