1.1索引简介

索引创建在数据表上,是对数据库表中一列或者多列的值进行排序的一种结构,

1.2 索引的分类:

mysql的索引可以分为6类,普通索引,唯一性索引,全文索引,单列索引,多列索引,空间索引。

1.3 索引的设计原则:

选择唯一性索引;为经常要排序,分组,联合操作的字段建立索引,为常作为查询条件的字段建立索引,限制索引的数目,尽量使用数据量少的索引,尽量使用前缀来索引,删除不再使用,或者很少使用的索引。

2.1 创建表的时候创建索引,其基本形式如下:

create table 表名(属性名 数据类型[约束条件],
                               ……
                               [unique|fulltext|spatial] index|key
                               [别名] (属性名1 [(长度)] [asc|desc])

其中[unique|fulltext|spatial]为可选参数,分别表示唯一性索引,全文索引与空间索引;index|key 用来指定索引,两者皆可,作用相同;别名用来给创建的索引取一个新的名称。

eg:创建普通索引
 

  1. create table index1(id int,   
  2.                     name varchar(20),   
  3.                     index(id) ); 

创建索引,并导入数据以后,可以用explain语句来查看索引是否被使用。

创建唯一性索引:

 

  1. create table index2(id int unique,   
  2.                     name varchar(20),   
  3.                     unique index index2_id(id asc)); 

创建全文索引:

 

  1. create table index3(id int unique,   
  2.                     name varchar(20),   
  3.                     fulltext index index3_name(name));