索引的分类

单列索引
普通索引:MySQL中基本索引类型,没有什么限制,允许在定义索引的列中插⼊重复值和空值,纯粹为了查询数据更快⼀点。 add index
唯⼀索引:索引列中的值必须是唯⼀的,但是允许为空值. add unique index
主键索引:是⼀种特殊的唯⼀索引,不允许有空值。 pk

组合索引
在表中的多个字段组合上创建的索引 add index(col1,col2..)
组合索引的使⽤,需要遵循最左前缀原则。
⼀般情况下,建议使⽤组合索引代替单列索引(主键索引除外)。

全⽂索引
只有在MyISAM引擎、InnoDB(5.6以后)上才能使⽤,⽽且只能在CHAR,VARCHAR,TEXT类型字段上使⽤全⽂索引。 fulltext
优先级最⾼ 先执⾏ 不会执⾏其他索引
存储引擎 决定执⾏⼀个索引

空间索引
不做介绍,⼀般使⽤不到。

索引的使⽤

创建索引
单列索引之普通索引
CREATE INDEX index_name ON table(column(length)) ;
ALTER TABLE table_name ADD INDEX index_name (column(length)) ;
单列索引之唯⼀索引
CREATE UNIQUE INDEX index_name ON table(column(length)) ;
alter table table_name add unique index index_name(column);
单列索引之全⽂索引
CREATE FULLTEXT INDEX index_name ON table(column(length)) ;
alter table table_name add fulltext index_name(column)
组合索引
ALTER TABLE article ADD INDEX index_titme_time (title(50),time(10)) ;

删除索引
DROP INDEX index_name ON table
查看索引
SHOW INDEX FROM table_name \G


晗宝
175 声望218 粉丝

一个男人要保护好:脚下的土地,家里的父母,怀里的女人,身边的兄弟!!!