码迷,mamicode.com
首页 > 其他好文 > 详细

索引的概念

时间:2018-10-02 20:09:21      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:分配   asc   mic   支持   默认   计算   ...   create   自动   

索引是定义在存储表(Table)的基础之上,有助于无需检查所有记录而快速定位所需记录的一种辅助存储机构,由一系列存储在磁盘上的索引项(index entries)组成,每一索引项又由两部分构成:索引字段和行指针

存储索引项的文件为索引文件,存储表称为主文件。

索引的存在与否不改变存储表的物理存储结构,其目的是可以明显提高存储表的访问速度

索引文件组织方式有两种:

排序索引文件:按索引字段值的某一顺序组织存储

散列索引文件:依据索引字段值使用散列函数分配散列桶的方式存储。

(主文件组织有堆文件、排序文件、散列文件、聚簇文件等)

索引字段的值可以是Table中的任何一个属性的值或者多个属性值的组合值。

索引文件比主文件很多,通过检索一个小的索引文件(可全部装载进进内存),快速定位后,再有针对性的读取非常大的主文件中的有关记录。

索引技术应用使检索效率大幅度提高,但同时也增加了存储空间、使维护负担加重(要同时维护主文件和索引文件)

衡量索引性能好坏

访问时间、插入时间、删除时间、空间负载、支持存取的有效性(比如:支持的是属性的限定值还是支持属性的限定范围的值)

对经常出现在检索条件、连接条件、分组计算条件中的属性可建立索引。

SQL语言关于索引

1.基本知识

当定义Table后,如果定义了主键,则系统将自动创建主索引,利用主索引对Table进行快速定位、检索与更新操作。

当索引被创建后,无论是主索引还是用户创建的索引,DBMS都将自动维护所有的索引

当Table被删除后(drop table),定义在该Table上的所有索引将自动被撤销

2.创建和维护索引的SQL语句

创建索引:

CREATE [UNIQUE] INDEX indexname

              ON tablename ( colname[asc|desc] ...);

【一般默认是asc,表示从小到大排序;desc表示从大到小排序】  

示例:在student表中创建一个基于Sname的索引

create index idxSname on student(sname);

示例:在student表中创建一个基于Sname和Sclass的索引

create index idxSnamcl on student(sname,sclass);

示例:撤销用户创建的索引

drop index indexname;

 

索引的概念

标签:分配   asc   mic   支持   默认   计算   ...   create   自动   

原文地址:https://www.cnblogs.com/labixinxinyexiangyouxiaobai/p/9737343.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!