一、SQL语法——5-索引

5-索引

1.索引是存放在schema中的一个数据库对象,虽然索引依附于数据表,但它也是和数据表一样的数据库对象。创建索引的唯一作用就是加速对表的查询,索引通过使用快速路径访问方法来快速定位数据,减少磁盘I/O。

注:虽然索引也是数据库对象,但索引不可以独立存在必须依附于数据表。

2.创建索引的两种方式:

自动:当在数据表上定义primary key、unique、foreign key时,系统会为该数据列自动创建对应的索引;

手动:通过如下格式手动创建索引:create index index_name on table_name (column,column...);

3.删除索引的两种方式:

自动:数据表被删除时,依附于此数据表的索引会被系统自动删除;

手动:通过如下格式手动删除索引:drop index index_name on table_name;

4.示例:

#下面的索引将提高对employees表基于last_name字段的查询速度
create index emp_last_name_idx
on employees(last_name);

#同时对多列建立索引
create index emp_last_name_idx2
on employees(first_name,last_name);

#MySQL中删除索引需要指定表明,因为MySQL只要求同一个表内的索引不能同名
#对于Orecl而言,索引名称唯一,所以不需要指定表名
drop index emp_last_name_idx2 on employees;

 

5.索引可以加快查询速度,但是索引也有两个坏处:

(1)当数据表中的记录被添加、删除、修改时,数据库系统需要维护索引,因此有一定的系统开销;

(2)存储索引信息需要一定磁盘空间。

 

posted @ 2017-08-03 15:55  丶theDawn  阅读(255)  评论(0编辑  收藏  举报