单元31:索引.ppt

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单元31:索引

单元31:索引及其应用 问题引入 对于数据库中的海量数据来讲,查询效率是至关重要的,那么: 数据在磁盘上是如何存储的? 系统如何找到这些数据? 问题解决——使用索引加快查询速度 实际的索引示例:查字典 每部字典一般都有拼音、偏旁部首等索引,依靠它们,我们就不必遍历整部字典,只需按照索引找出所在的页,直接定位到该页即可。 主要内容 1. 索引概述 1.1.1 数据的存储 在SQL Server中,数据存储的基本单位是: 1.1.2 数据的访问 SQL Server 提供了两种数据访问的方法: 表扫描法——从表的第一行开始逐行查找,直到找到符合要求的记录为止。 显然,耗费时间与表的数据量称正比。系统响应时间太长。 1.1.2 数据的访问 索引法 当表中创建索引后,SQL Server将在数据表中为其建立索引页,每个索引页中的行都含有指向数据页的指针。 类似我们查字典的过程,不必遍历整本字典,只需找到拼音或偏旁(相当于建立索引的列)所指向的页即可 1.2 索引的作用 1.3 索引的分类 2. 创建索引 2. 创建索引 索引可以在创建表的约束时由系统自动创建,也可以通过SQL Server Management Studio或CREATE INDEX语句来创建。 在创建或修改表时,如果添加了一个主键或惟一键约束,则系统将自动在该表上,以该键值作为索引列,创建一个惟一索引。 主键约束列通常也是聚集索引 2.1 SQL Server Management Studio中创建索引 【例】客户信息表中,需要经常按“姓名”进行查找,所以需要在姓名列建立索引。姓名有可能重名,因此需要建立非惟一索引,同时因为主键已经是聚集索引,因此要建立非唯一、非聚集索引 创建过程 SQL Server Management Studio中,展开marketing数据库节点 打开“客户信息”的设计视图 选择“表和索引属性”按钮,并选择“索引/键” 2.1 SQL Server Management Studio中创建索引 2.2 查询分析器中创建索引 使用CREATE INDEX语句创建索引 创建索引命令常用格式如下。 2.2 查询分析器中创建索引 【例】在订单信息表中创建名为“IX_订单信息_客户货品”的非聚集、复合索引,该索引基于“客户编号”和“货品编码” 2.2 查询分析器中创建索引 (1)用SELECT INTO语句生成表“高档货品”,将货品信息表中售价大于平均价的货品插入该表 (2)然后为“高档货品”创建基于“编号”列的惟一索引“IX_高档货品” (3)验证惟一索引的功能 2.2 查询分析器中创建索引 3.管理和维护索引 3. 管理和维护索引 3. 管理和维护索引 3.1 索引的分析 (1)显示查询计划 SQL Server提供了两种显示查询中的数据处理步骤以及如何访问数据的方式。 ① 以图形方式显示执行计划 3.1 索引的分析 ② 以表格方式显示执行计划 通过在查询语句中设置SHOWPLAN选项,我们可以选择是否让SQL Server显示查询计划。 设置是否显示查询计划的命令为: SET SHOWPLAN_ALL ON|OFF 或 SET SHOWPLAN_TEXT ON|OFF 3.1 索引的分析 (2)数据I/O统计 通过设置STATISTICS IO,可以显示磁盘I/O信息 3.2 索引的维护 (1)统计信息更新 在SQL Server Management Studio中通过设置数据库的属性决定是否实现统计的自动更新。 使用UPDATE STATISTICS命令更新“客户信息”表主键索引的统计信息。 UPDATE STATISTICS 客户信息 PK_客户信息 GO (2)使用DBCC SHOWCONTIG语句扫描表 对表进行数据操作可能会导致表碎片,而表碎片会导致额外的页读取,从而造成数据库查询性能的降低。此时用户可以通过使用DBCC SHOWCONTIG语句来扫描表,并通过其返回值确定该表的索引页是否已经严重不连续。 DBCC SHOWCONFIG(客户信息, PK_客户信息) 3.2 索引的维护 如果页密度百分比比较低,则需要清理表中碎片 3.2 索引的维护 (3)使用DBCC INDEXDEFRAG语句进行碎片整理 DBCC INDEXDEFRAG(marketing,客户信息, PK_客户信息) GO 本章小结 按照索引值的特点分类,可将索引分为( )索引和( )索引;按照索引的结构特点分类,索引可以分为( )索引和( )索引 使用存储过程SP_HELPINDEX查看订单信息的索引情况 为客户信息的电话创建索引:非聚集、惟一 将刚创建的索引删除 执行客户查询,显示执行计划 1 索引概述 2 创建索

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档