从功能逻辑上划分:
普通索引 - 最基本的索引,没有任何限制
唯一索引 - 与普通索引类似,不同的就是:索引列的值必须唯一,但允许有空值。
主键索引 - 它是一种特殊的唯一索引,不允许有空值。
全文索引 - 仅可用于 MyISAM 表,针对较大的数据,生成全文索引很耗时耗空间。
作用字段个数划分:
单列索引 - 在单个字段上创建索引,只根据该字段进行索引,一个表可以有多个单列索引
联合索引 - 为了更多的提高mysql效率可建立组合索引,遵循”最左前缀“原则。
物理实现方式上划分:聚簇索引,非聚簇索引
索引的创建:
主键索引:ALTER TABLE `tableName` ADD PRIMARY KEY ( `column` ) - PRIMARY KEY
唯一索引:ALTER TABLE `tableName` ADD UNIQUE ( `column` ) - NIQUE
普通索引:ALTER TABLE `tableName` ADD INDEX index_name ( `column` ) - INDEX
全文索引:ALTER TABLE `tableName` ADD FULLTEXT ( `column`) - FULLTEXT
多列索引:ALTER TABLE `tableName` ADD INDEX index_name ( `column1`, `column2`, `column3` ) - INDEX