InnoDB
a:主键索引
设定为主键后数据库会自动建立索引,innodb为聚簇索引,不能为空
show index from 表名
b单值索引,普通索引
建表时候:eg:
create table user(
id int(20) primary key,
name vaechar(20) ,
key(name)
)
建表之后;create index XXX on 表名(列名)
一个表可以有多个单值索引
c唯一索引
索引列的值可以为空关键字unique
d复合索引(最左前缀原则,引擎在查询为了更好利用索引,在查询过程中会动态调整索引:
name age bir
name bir age(可以用索引查询)
name bir(不可以)
name bir age(可以)
)
一个索引包含多个列
create table user(
id int(20) primary key,
name vaechar(20) ,
age varchar(20),
key(name age)
)