索引
索引的含义和特点
索引是一个单独的、存储在磁盘上的数据库结构,包含着对数据表里所有记录的引用指针。使用索引可以快速找出在某个或多个列中有一特定值的行,所有MySQL列类型都可以被索引,对相关列使用索引是提高查询操作速度的最佳途径
索引分类
- 普通索引和唯一索引
- 单列索引和组合索引
- 全文索引
- 空间索引
创建索引
创建表的时候创建索引
1.创建普通索引
create table book(
bookid int (10) not null,
index(bookid)
);
- 创建唯一索引
create table book(
bookid int (10) not null,
unique index uniqIdx(bookid)
);
- 创建单列索引(索引长度为20)
create table book(
bookid int (10) not null,
index SingleIdx(bookid(20))
);
- 创建组合索引
create table book(
bookid int (10) not null,
id int(10),
name varchar(20),
index MutiIdx(id,name)
);
修改表创建索引
- 使用alter table 语句创建索引
ALTER TABLE table_name ADD [UNIQUE|FULLTEXT|SPATIAL] [INDEX|KEY] [index_name] (col_name[length],…) [ASC | DESC]
ALTER TABLE book ADD INDEX BkNameIdx( bookname(30) );
删除索引
ALTER TABLE table_name DROP INDEX index_name;
DROP INDEX index_name ON table_name;