sql_数据库__第九章_SQL_Server_2008索引

sql_数据库__第九章_SQL_Server_2008索引

ID:43351296

大小:1.05 MB

页数:48页

时间:2019-10-08

sql_数据库__第九章_SQL_Server_2008索引_第1页
sql_数据库__第九章_SQL_Server_2008索引_第2页
sql_数据库__第九章_SQL_Server_2008索引_第3页
sql_数据库__第九章_SQL_Server_2008索引_第4页
sql_数据库__第九章_SQL_Server_2008索引_第5页
资源描述:

《sql_数据库__第九章_SQL_Server_2008索引》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、SQLServer数据库程序设计授课教师:姜姗本章学习目标 理解索引的作用和分类; 熟练掌握索引的创建、编辑和删除; 熟练掌握索引的管理方法。第9章索引在应用系统中,尤其在联机事务处理系统中,对数据查询及处理速度已成为衡量应用系统成败的标准。而采用索引来加快数据处理速度通常是最普遍采用的优化方法。索引的概念数据库中的索引与书籍中的目录类似。在一本书中,利用索引可以快速查找所需信息,无须阅读整本书。书中的目录是一个词语列表,其中注明了包含各个词的页码。在数据库中,索引使数据库程序无须对整个表进行扫描,就可以在其中找到所需

2、数据。而数据库中的索引是一个表中所包含的值的列表,其中注明了表中包含各个值的行所在的存储位置。SQLServer中数据的访问方法:表扫描法:当访问未建索引的表内数据时,从表的起始处逐行查找,直到符合查询条件为止。使用索引:当使用索引访问建有索引的表内数据时,系统会通过遍历索引树结构来查找行的存储位置,效率非常高。通过创建唯一索引,可以增强数据记录的唯一性。可以大大加快数据检索速度。可以加速表与表之间的连接,这一点在实现数据的参照完整性方面有特别的意义。在使用ORDERBY和GROUPBY子句中进行检索数据时,可以显著减

3、少查询中分组和排序的时间。使用索引可以在检索数据的过程中使用优化隐藏器,提高系统性能。索引的作用不过,索引为性能所带来的好处却是有代价的。带索引的表在数据库中会占据更多的空间。另外,为了维护索引,对数据进行插入、更新、删除操作的命令所花费的时间会更长。创建索引所需的工作空间约为数据库表的1.2倍,在建立索引时,数据被复制以便建立索引。索引建立后,旧的未加索引的表被删除,创建索引时使用的硬盘空间由系统自动收回。在设计和创建索引时,应确保对性能的提高程度大于在存储空间和处理资源方面的代价。索引的注意事项因创建索引要耗一定的

4、系统性能,因此要考察对某列创建索引的必要性。定义有主关键字和外部关键字的列需在指定范围中快速或频繁查询的列需要按排序顺序快速或频繁检索的列在集合过程中需要快速或频繁组合到一起的列这些情况要考虑创建索引在查询中几乎不涉及的列很少有唯一值的列由text,ntext或image数据类型定义的列只有较少行数的表没必要建索引可不考虑创建索引如果以存储结构来区分,则有“聚集索引”(ClusteredIndex,也称聚类索引、簇集索引)和“非聚集索引”(NonclusteredIndex,也称非聚类索引、非簇集索引)的区别;如果以数

5、据的唯一性来区别,则有“唯一索引”(UniqueIndex)和“非唯一索引”(NonuniqueIndex)的不同;若以键列的个数来区分,则有“单列索引”与“多列索引”的分别。索引的分类1.聚集索引聚集索引将数据行的键值在表内排序并存储对应的数据记录,使得数据表物理顺序与索引顺序一致。当以某字段作为关键字建立聚集索引时,表中数据以该字段作为排序根据。因此,一个表只能建立一个聚集索引,但该索引可以包含多个列(组合索引)2.非聚集索引非聚集索引完全独立于数据行的结构。数据存储在一个地方,索引存储在另一个地方。非聚集索引中的

6、数据排列顺序并不是表格中数据的排列顺序。SQLServer默认情况下建立的索引是非聚集索引。一个表可以拥有多个非聚集索引,每个非聚集索引提供访问数据的不同排序顺序。关于非聚集索引非聚簇索引提高的存取速度,但降低了表的更新的速度如果硬盘和内存空间有限,应限制非聚簇索引的使用修改一个表的数据时,同时要维护索引存取速度索引的数量所需空间聚集索引非聚集索引快一表一个少慢一表可以多个多聚集型索引和非聚集型索引的比较建立聚集索引的必要性查询命令的回传结果是以该字段为排序条件需要回传局部范围的大量数据表格中某字段内容的重复性比较大要

7、考虑建非聚集索引的情况查询所获数据量较少时某字段中的数据的唯一性比较高时3.唯一索引 唯一索引是指索引值必须是唯一的。聚集索引和非聚集索引均可用于强制表内的唯一性,方法是在现有表上创建索引时指定UNIQUE关键字。确保表内唯一性的另一种方法是使用UNIQUE约束。4.索引视图 对视图创建唯一聚集索引后,结果集将存储在数据库中,就像带有聚集索引的表一样,这样的视图称为索引视图,即是为了实现快速访问而将其结果持续存放于数据库内并创建索引的视图。索引视图在基础数据不经常更新的情况下效果最佳。维护索引视图的成本可能高于维护表索

8、引的成本。如果基础数据更新频繁,索引视图数据的维护成本就可能超过使用索引视图带来的性能收益。5.全文索引 全文索引可以对存储在数据库中的文本数据进行快速检索。全文索引是一种特殊类型的基于标记的功能性索引,它是由SQLServer全文引擎生成和维护的。每个表只允许有一个全文索引。1.系统自动创建索引 系统在创建表中的其他对象时可以附

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

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

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