SQL-第10章-创建索引文件.ppt

SQL-第10章-创建索引文件.ppt

ID:52412536

大小:368.50 KB

页数:28页

时间:2020-04-05

SQL-第10章-创建索引文件.ppt_第1页
SQL-第10章-创建索引文件.ppt_第2页
SQL-第10章-创建索引文件.ppt_第3页
SQL-第10章-创建索引文件.ppt_第4页
SQL-第10章-创建索引文件.ppt_第5页
资源描述:

《SQL-第10章-创建索引文件.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第10章索引的创建和使用10.1索引的概念10.2聚簇索引和非聚簇索引10.3索引的创建和管理10.4索引的维护返回目录210.1索引的概念10.1.1索引的概念10.1.2创建索引的优点与缺点10.1.3考虑建索引的列和不考虑建索引的列本章首页310.1.1索引的概念索引是为了加速对表中数据行的检索而创建的一种分散的存储结构。索引是针对一个表而建立的,它是由数据页面以外的索引页面组成的。数据库中的索引是一个列表,在这个列表中包含了某个表中一列或者若干列值的集合,以及这些值的记录在数据表中的存储位置的物理地址。本节首页410.1.2索引的优、缺点1.创建索引的优点可以大大加快

2、数据检索速度。通过创建唯一索引,可以保证数据记录的唯一性。在使用ORDERBY和GROUPBY子句进行检索数据时,可以显著减少查询中分组和排序的时间。使用索引可以在检索数据的过程中使用优化隐藏器,提高系统性能。可以加速表与表之间的连接,这一点在实现数据的参照完整性方面有特别的意义。52.创建索引的缺点①创建索引要花费时间和占用存储空间。创建索引需要占用存储空间,如创建聚簇索引需要占用的存储空间是数据库表占用空间的1.2倍。在建立索引时,数据被复制以便建立聚簇索引,索引建立后,再将旧的未加索引的表数据删除。创建索引也需要花费时间。②建立索引加快了数据检索速度,却减慢了数据修改速

3、度。因为每当执行一次数据的插入、删除和更新操作,就要维护索引。修改的数据越多,涉及维护索引的开销也就越大。如果将一些数据行插入到一个已经放满行的数据页面上,还必须将这个数据页面中最后一些数据移到下一个页面中去,这样,还必须改变索引页中的内容,以保持数据顺序的正确性。这就是对索引的维护。由于修改数据时要动态维护其索引,所以,对建立了索引的表执行修改操作要比未建立索引的表执行修改操作所花的时间要长。因此,创建索引虽然可以加快数据查询的速度,但是却会减慢数据修改的速度。本节首页610.1.3考虑建索引的列和不考虑建索引的列1.考虑建索引的列如果在一个列上创建索引,该列就称为索引列。

4、索引列中的值称为关键字值。考虑建索引的列有如下这些:①主键通常,检索、存取表是通过主键来进行的。因此,应该考虑在主键上建立索引。②连接中频繁使用的列用于连接的列若按顺序存放,系统可以很快地执行连接。如外键,除用于实现参照完整性外,还经常用于进行表的连接。③在某一范围内频繁搜索的列和按排序顺序频繁检索的列。72.不考虑建索引的列建立索引需要产生一定的存储开销,在进行插入和更新数据的操作时,维护索引也要花费时间和空间,因此,没有必要对表中的所有列都建立索引。创建索引与否以及在哪些列上建立索引,要看建立索引和维护索引的代价与因建立索引所节省的时间相比哪个更合算。一般来说,如下一些列

5、不考虑建立索引:①很少或从来不在查询中引用的列,因为系统很少或从来不根据这个列的值去查找数据行。②只有两个或很少几个值的列(如性别,只有两个值“男”或“女”),以这样的列创建索引并不能得到建立索引的好处。③以bit、text、image数据类型定义的列。④数据行数很少的小表一般也没有必要创建索引。本节首页810.2聚簇索引与非聚簇索引10.2.1索引的分类根据索引的顺序与数据表的物理顺序是否相同,可以把索引分成两种类型:聚簇索引与非聚簇索引。和表及视图一样,索引也是数据库对象。聚簇索引(ClusteredIndex)数据表的物理顺序和索引表的顺序相同,它根据表中的一列或多列值

6、的组合排列记录。非聚簇索引(NonclusteredIndex)数据表的物理顺序和索引表的顺序不相同,索引表仅仅包含指向数据表的指针,这些指针本身是有序的,用于在表中快速定位数据。910.2.2聚簇索引数据表的物理顺序和索引表的顺序相同,它根据表中的一列或多列的值排列记录。每一个表只能有一个聚簇索引,因为一个表的记录只能以一种物理顺序存放,在通常情况下,使用的都是聚簇索引。聚簇索引有利于范围搜索,由于聚簇索引的顺序与数据行存放的物理顺序相同,因此,聚簇索引最适合于范围搜索,因为相邻的行将被物理地存放在相同或相邻近的页面上。创建聚簇索引的几个注意事项:每张表只能有一个聚簇索引由

7、于聚簇索引改变表的物理顺序,所以应先建聚簇索引,后创建非聚簇索引创建索引所需的空间来自用户数据库,而不是TEMPDB数据库主键是聚簇索引的良好候选者1010.2.3非聚簇索引对于非聚簇索引,表的物理顺序与索引顺序不同,即表的数据并不是按照索引列排序的。索引是有序的,而表中的数据是无序的。一个表可以同时存在聚簇索引和非聚簇索引,而且,一个表可以有多个非聚簇索引。例如对记录网站活动的日志表可以建立一个对日期时间的聚簇索引和多个对用户名的非聚簇索引。创建非聚簇索引的几个注意事项:创建非聚簇索引实际上是创建了一

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。