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