mysql有哪些索引
- index 普通索引
- alter table
table_name
add index index_name(column
) - 最基本的索引,没有任何限制
- primary key 主键索引
- alter table
table_name
add primary key(column
) - 是一种特殊的唯一索引,不允许有空值
- unique 唯一索引
- alter table
table_name
add unique(column
) - 与“普通索引”类似,不同的就是,索引列的值必须是唯一,但允许有空值
- filltext 全文索引
- alter table
table_name
add fulltext(column
) - 仅可用于MyISAM表,针对较大的数据,生成全文索引很耗时和耗空间
- 组合索引
- alter table
table_name
add index index_name(column1
,column2
,column3
) - 遵循“最左前缀”原则
创建索引
create index index_name on table_name(column_name)
修改表结构(添加索引)
alter table table_name add index index_name(column_name)
创建表时直接指定
create table table_name(
id int not null,
username varchar(64) not null,
index [index_name] (username)
);
删除索引
drop index [index_name] on table_name