索引作为SQL查询的一种方法,它可以很好的帮助我们加快数据的查询速度
一、什么是索引?
索引就好像我们书中的目录,是这一本书的综合,告诉你在书的什么地方能够找到一个特定的向,一看目录就可以看到你要找的东西在哪一页,不用从书的起始页开始,缩减了你的查询时间。
二、索引的优缺点
优点:1、大大加快数据的检索速度
2、创建唯一性索引,保证数据库表中每一行数据的唯一性
3、加速表和表之间的连接
4、在使用分组和排序子句进行数据检索时,可以显著减少查询中分组和排序的时间
缺点:1、索引需要占物理空间
2、进行增加、删除和修改时,索引也要动态的维护,降低了数据的维护速度
三、索引类型
- 单列索引
- 唯一索引
- 主键索引
- 聚集索引
创建索引
SQL语言使用CREATE INDEX 语句建立索引,其一般格式是:
CREATE [UNIQUE] [CLUSTERED| NONCLUSTERED] INDEX <索引名>
ON <表名>(<列名>[ASC|DESC] [, <列名>[ASC|DESC]...])
说明:与表一样,索引也需要有唯一的名字,且基于一个表来建立,可以根据表中的一列或者多列,当列的顺序都是升序默认可不必标出,当属性列有按照降序排列的,所有属性的升序降序都不要标明。
UNIQUE--建立唯一索引。
CLUSTERED--建立聚集索引。
NONCLUSTERED--建立非聚集索引。
ASC--索引升序排序。
DESC--索引降序排序。
修改索引
对于已经建立的索引,如果需要对其重新命名,可以使用ALTER INDEX 语句。其一般格式为
ALTER INDEX <旧引索名字> RENAME TO<新引索名>
删除索引
当某个时期基本表中数据更新频繁或者某个索引不再需要时,需要删除部分索引。SQL语言使用DROP INDEX 语句删除索引,其一般格式是:
DROP INDEX<索引名>
删除索引时,DBMS不仅在物理删除相关的索引数据,也会从数据字典删除有关该索引的描述。