索引

来源:互联网 发布:python 中文字符串 编辑:程序博客网 时间:2024/05/30 04:47

1、作用:提高数据检索的效率
2、本质
索引的本质:索引是数据结构(多叉平衡树)。

3、类别
1)聚集索引:
该索引中键值的逻辑顺序决定了表中数据行的物理顺序,该索引的叶节点就是数据节点。
检索效率比非聚集索引高,但对数据更新影响较大。

2)非聚集索引:
数据存储在一个地方,索引存储在另一个地方,索引带有指向数据的存储位置的指针。
非聚集索引的叶节点仍然是索引节点,该节点指向对应数据块。
检索效率比聚集索引低,但对数据更新影响较小。

3)SQL语句
聚集索引是DB默认的索引(按主键进行聚集索引):

create cluster index Id_Index on Employee_Table(id);

非聚集索引创建索引(普通索引):

create index Name_Year_Index on Employee_Table(name,year);

4、索引的数据结构(B树、B+树)

5、索引的代价
1)索引需要占用数据表以外的物理存储空间;
2)创建索引和维护索引要花费一定的时间;
3)当对表进行更新操作时,索引需要被重建,这样降低了数据的维护速度。

6、索引的适用场合
1)在经常需要搜索的列上,可以加快搜索的速度;
2)在作为主键的列上,强制该列的唯一性和组织表中数据的排列结构;
3)在经常用在连接的列上,这 些列主要是一些外键,可以加快连接的速度;
4)在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的;
5)在经常需要排序的列上创建索引,因为索引已经排序,这样查询可以利用索引的排序,加快排序查询时间;
6)在经常使用在WHERE子句中的列上面创建索引,加快条件的判断速度。

原创粉丝点击