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:创建普通索引
- create table index1(id int,
- name varchar(20),
- index(id) );
创建索引,并导入数据以后,可以用explain语句来查看索引是否被使用。
创建唯一性索引:
- create table index2(id int unique,
- name varchar(20),
- unique index index2_id(id asc));
创建全文索引:
- create table index3(id int unique,
- name varchar(20),
- fulltext index index3_name(name));