MySQL索引

128 阅读1分钟

索引

索引的含义和特点

索引是一个单独的、存储在磁盘上的数据库结构,包含着对数据表里所有记录的引用指针。使用索引可以快速找出在某个或多个列中有一特定值的行,所有MySQL列类型都可以被索引,对相关列使用索引是提高查询操作速度的最佳途径

索引分类

  1. 普通索引和唯一索引
  2. 单列索引和组合索引
  3. 全文索引
  4. 空间索引

创建索引

创建表的时候创建索引

1.创建普通索引

create table book(
    bookid int (10) not null,
    index(bookid)
    );
  1. 创建唯一索引
create table book(
    bookid int (10) not null,
    unique index uniqIdx(bookid)
    );
  1. 创建单列索引(索引长度为20)
create table book(
    bookid int (10) not null,
    index SingleIdx(bookid(20))
    );
  1. 创建组合索引
create table book(
    bookid int (10) not null,
    id int(10),
    name varchar(20),
    index MutiIdx(id,name)
    );

修改表创建索引

  1. 使用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;