索引是加速数据库检索速度的重要手段。
1.一个表允许最多可以有16个索引,最大索引长度是256字节。
2.对于char和varchar列,可以索引浅醉,这比索引整个列需要更少的磁盘空间,对于BLOB和TEXT列,必须索引前缀。
3.可以在多个列上创建索引,一个索引最多可以由15个列组成。
在常用的IMySAM和INnoDB这两种存储引擎上,可以为NULL设置索引。
索引有如下的几种情况:
INDEX索引:通常意义的索引,索引的列可以包含重复值。
UNIQUE索引:唯一索引,索引的列不允许重复值。
PRIMARY KEY索引:主键索引,事实上它只是一个名为PRIMARY的UNIQUE索引。
使用alter table添加和删除索引
为一个表添加一个INDEX索引:
alter table td_name add index index_name (col_name,...);
为一个表添加一个UNIQUE索引
alter table td_name add unique index_name (col_name,...);
为一个表添加PRIMARY KEY索引
alter table td_name add primary key index_name (col_name,...);
同样也可以使用alter table删除索引
为一个表删除一个INDEX索引:
alter table td_name drop index index_name;
为一个表删除一个UNIQUE索引
alter table td_name drop index index_name;
为一个表删除PRIMARY KEY索引
alter table td_name add primary key index_name;
使用create/drop index添加和删除索引
为一个表添加一个INDEX索引
create index index_name on td_name (col_name,...);
为一个表添加一个UNIQUE索引
create unique index_name on td_name (col_name,...);
为一个表添加一个PRIMARY KEY索引
create primary key index_name on td_name (col_name,...);
删除索引统一地使用
drop index index_name on td_name;或drop primary key index_name on td_name;
在创建表的时候指定索引
在创建表时,在列声明完后,加上index语句
create table td1(name char(20), index index_name (name));