欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    索引和查询优化幻灯片.ppt

    • 资源ID:87381656       资源大小:1,001KB        全文页数:20页
    • 资源格式: PPT        下载积分:18金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要18金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    索引和查询优化幻灯片.ppt

    索引和查询优化索引和查询优化2023/4/141第1页,共20页,编辑于2022年,星期一教学目标教学目标l理解索引的优点和缺点理解索引的优点和缺点l理解堆的结构特点理解堆的结构特点l理解聚集索引和非聚集索引的特点理解聚集索引和非聚集索引的特点l理解索引的类型理解索引的类型l使用使用CREATE INDEX语句创建索引的方式语句创建索引的方式l理解索引统计信息的特点和获得方式理解索引统计信息的特点和获得方式l理解查询优化的方式理解查询优化的方式2023/4/142第2页,共20页,编辑于2022年,星期一教学过程教学过程8.1 概述概述8.2 索引的类型和特点索引的类型和特点8.3 创建索引创建索引 8.4 索引维护索引维护8.5 查询优化查询优化2023/4/143第3页,共20页,编辑于2022年,星期一8.1 概述概述l在在Microsoft SQL Server系统中,可管理的最小空间是页。一个页系统中,可管理的最小空间是页。一个页是是8KB字节的物理空间。插入数据的时候,数据就按照插入的时字节的物理空间。插入数据的时候,数据就按照插入的时间顺序被放置在数据页上。一般地,放置数据的顺序与数据本身间顺序被放置在数据页上。一般地,放置数据的顺序与数据本身的逻辑关系之间是没有任何联系的。因此,从数据之间的逻辑关的逻辑关系之间是没有任何联系的。因此,从数据之间的逻辑关系方面来讲,数据是乱七八糟堆放在一起的。系方面来讲,数据是乱七八糟堆放在一起的。l数据的这种堆放方式称为堆。当一个数据页上的数据堆放满数据的这种堆放方式称为堆。当一个数据页上的数据堆放满之后,数据就得堆放在另外一个数据页上,这时就称为页分之后,数据就得堆放在另外一个数据页上,这时就称为页分解。解。l索引是一种与表或视图关联的物理结构,可以用来加快从表索引是一种与表或视图关联的物理结构,可以用来加快从表或视图中检索数据行的速度。或视图中检索数据行的速度。2023/4/144第4页,共20页,编辑于2022年,星期一8.2 索引的类型和特点索引的类型和特点l在在Microsoft SQL Server 2005系统中,有两种基本的系统中,有两种基本的索引类型:聚集索引和非聚集索引。除此之外,还索引类型:聚集索引和非聚集索引。除此之外,还有惟一性索引、包含性列索引、索引视图、全文索有惟一性索引、包含性列索引、索引视图、全文索引、引、XML索引等。在这些索引类型中,聚集索引和非聚索引等。在这些索引类型中,聚集索引和非聚集索引是数据库引擎中索引的基本类型,是理解惟一性索集索引是数据库引擎中索引的基本类型,是理解惟一性索引、包含性列索引、索引视图的基础,本节主要研究者两引、包含性列索引、索引视图的基础,本节主要研究者两种索引类型。种索引类型。l另外,为了更好地理解索引结构,有必要对堆结构有所另外,为了更好地理解索引结构,有必要对堆结构有所了解。了解。l最后,简单介绍一下系统访问数据的方式。最后,简单介绍一下系统访问数据的方式。2023/4/145第5页,共20页,编辑于2022年,星期一堆堆 l堆是不含聚集索引的表,表中的数据没有堆是不含聚集索引的表,表中的数据没有任何的顺序。堆的信息记录在任何的顺序。堆的信息记录在sys.partitions目录视图中。每一个堆都可目录视图中。每一个堆都可能有多个不同的分区,每一个分区都有一能有多个不同的分区,每一个分区都有一个堆结构,每一个分区在个堆结构,每一个分区在sys.partitions目目录视图中都有一行,且录视图中都有一行,且index_id=0。也就。也就是说,每一个堆都可能有多个堆结构。是说,每一个堆都可能有多个堆结构。2023/4/146第6页,共20页,编辑于2022年,星期一聚集索引聚集索引 l聚集索引是一种数据表的物理顺序与索引顺序相同的索引,聚集索引是一种数据表的物理顺序与索引顺序相同的索引,非聚集索引则是一种数据表的物理顺序与索引顺序不相同非聚集索引则是一种数据表的物理顺序与索引顺序不相同的索引。的索引。l聚集索引的叶级和非叶级构成了一个特殊类型的聚集索引的叶级和非叶级构成了一个特殊类型的B树树结构。结构。B树结构中的每一页称为一个索引节点。索引的树结构中的每一页称为一个索引节点。索引的最低级节点是叶级节点。在一个聚集索引中,某个表的最低级节点是叶级节点。在一个聚集索引中,某个表的数据页是叶级,在叶级之上的索引页是非叶级。在聚集数据页是叶级,在叶级之上的索引页是非叶级。在聚集索引中,页的顺序是有序的。索引中,页的顺序是有序的。2023/4/147第7页,共20页,编辑于2022年,星期一非聚集索引非聚集索引 l非聚集索引与聚集索引具有相同的非聚集索引与聚集索引具有相同的B树结构,但是,树结构,但是,在非聚集索引中,基础表的数据行不是按照非聚集键的在非聚集索引中,基础表的数据行不是按照非聚集键的顺序排序和存储,且非聚集索引的叶级是由索引页而不顺序排序和存储,且非聚集索引的叶级是由索引页而不是由数据页组成。是由数据页组成。l非聚集索引既可以定义在表或视图的聚集索引上,也可非聚集索引既可以定义在表或视图的聚集索引上,也可以定义在表或视图的堆上。非聚集索引中的每一个索引以定义在表或视图的堆上。非聚集索引中的每一个索引行都是由非聚集键值和行定位符组成,该行定位符指向行都是由非聚集键值和行定位符组成,该行定位符指向聚集索引或堆中包含该键值的数据行。如果表或视图中聚集索引或堆中包含该键值的数据行。如果表或视图中没有聚集索引没有聚集索引(堆堆),则行定位符是指向行的指针,则行定位符是指向行的指针RID,RID由文件标识符由文件标识符ID、页码和页上的行数生成。、页码和页上的行数生成。2023/4/148第8页,共20页,编辑于2022年,星期一其他类型的索引其他类型的索引 l除了聚集索引和非聚集索引之外,除了聚集索引和非聚集索引之外,Microsoft SQL Server 2005系统还提供了系统还提供了一些其他类型的索引或索引表现形式,这一些其他类型的索引或索引表现形式,这些内容包括些内容包括惟一性索引惟一性索引包含性列索引包含性列索引索引视图索引视图全文索引全文索引XML索引索引2023/4/149第9页,共20页,编辑于2022年,星期一访问数据的方式访问数据的方式 l第一种方法是表扫描,就是指系统将指针第一种方法是表扫描,就是指系统将指针放在该表的表头数据所在的数据页上,然放在该表的表头数据所在的数据页上,然后按照数据页的排列顺序,一页一页地从后按照数据页的排列顺序,一页一页地从前向后扫描该表数据所占有的全部数据页,前向后扫描该表数据所占有的全部数据页,直至扫描完表中的全部记录。直至扫描完表中的全部记录。l第二种方法是使用索引查找。第二种方法是使用索引查找。2023/4/1410第10页,共20页,编辑于2022年,星期一8.3 创建索引创建索引l在在Microsoft SQL Server 2005系统中,既系统中,既可以直接创建索引,也可以间接创建索引。可以直接创建索引,也可以间接创建索引。当直接创建索引时,既可以使用当直接创建索引时,既可以使用CREATE INDEX语句,也可以使用图形工具。语句,也可以使用图形工具。2023/4/1411第11页,共20页,编辑于2022年,星期一直接方法和间接方法直接方法和间接方法 l可以把创建索引的方式分为直接方法和间接方法。可以把创建索引的方式分为直接方法和间接方法。l直接创建索引的方法就是使用命令和工具直接创建直接创建索引的方法就是使用命令和工具直接创建索引。索引。l间接创建索引就是通过创建其他对象而附加创建了索间接创建索引就是通过创建其他对象而附加创建了索引,例如在表中定义主键约束或惟一性约束时,同时引,例如在表中定义主键约束或惟一性约束时,同时也创建了索引。也创建了索引。l虽然,这两种方法都可以创建索引,但是,它们创建索虽然,这两种方法都可以创建索引,但是,它们创建索引的具体内容是有区别的。引的具体内容是有区别的。2023/4/1412第12页,共20页,编辑于2022年,星期一使用使用CREATE INDEX语句语句 l在在Microsoft SQL Server 2005系统中,使系统中,使用用CREATE INDEX语句可以在关系表上创语句可以在关系表上创建索引建索引2023/4/1413第13页,共20页,编辑于2022年,星期一 数据库引擎优化顾问数据库引擎优化顾问 l使用使用Microsoft SQL Server 2005的数据库引擎优化顾的数据库引擎优化顾问,用户可以方便地选择和创建索引、索引视图和分区问,用户可以方便地选择和创建索引、索引视图和分区的最佳集合。数据库引擎优化顾问分析一个或多个数据的最佳集合。数据库引擎优化顾问分析一个或多个数据库的工作负荷和实现,其中工作负荷是对要优化的一个库的工作负荷和实现,其中工作负荷是对要优化的一个或多个数据库执行的一组或多个数据库执行的一组Transact-SQL语句。数据库语句。数据库引擎优化顾问的输入是由引擎优化顾问的输入是由SQL Server Profiler生成的生成的跟踪文件、指定的跟踪表或工作负荷。数据库引擎优跟踪文件、指定的跟踪表或工作负荷。数据库引擎优化顾问的输出是修改数据库的物理设计结构的建议,化顾问的输出是修改数据库的物理设计结构的建议,其中物理设计结构包括聚集索引、非聚集索引、索引其中物理设计结构包括聚集索引、非聚集索引、索引视图、分区等。视图、分区等。2023/4/1414第14页,共20页,编辑于2022年,星期一查看索引信息查看索引信息 l在在Microsoft SQL Server 2005系统中,可系统中,可以使用一些目录视图和系统函数查看有关以使用一些目录视图和系统函数查看有关索引的信息。索引的信息。l这些目录视图和系统函数如表这些目录视图和系统函数如表8-1所示。所示。2023/4/1415第15页,共20页,编辑于2022年,星期一8.4 索引维护索引维护l索引在创建之后,由于数据的增加、删除、索引在创建之后,由于数据的增加、删除、更新等操作使得索引页发生碎块,因此为更新等操作使得索引页发生碎块,因此为了提高系统的性能,必须对索引进行维护。了提高系统的性能,必须对索引进行维护。l这些维护包括查看碎块信息、维护统计信这些维护包括查看碎块信息、维护统计信息、分析索引性能、删除重建索引等。息、分析索引性能、删除重建索引等。2023/4/1416第16页,共20页,编辑于2022年,星期一查看索引统计信息查看索引统计信息 l索引统计信息是查询优化器用来分析和评索引统计信息是查询优化器用来分析和评估查询、确定最优查询计划的基础数据。估查询、确定最优查询计划的基础数据。一般地,用户可以通过常用的方式访问指一般地,用户可以通过常用的方式访问指定索引的统计信息。定索引的统计信息。一种方式是使用一种方式是使用DBCC SHOW_STATISTICS命命令令另一种是使用图形化工具另一种是使用图形化工具2023/4/1417第17页,共20页,编辑于2022年,星期一查看索引碎片信息查看索引碎片信息 l可以使用两种方式查看有关索引的碎片信可以使用两种方式查看有关索引的碎片信息,使用息,使用sys.dm_db_index_physical_stats系统函系统函数和使用图形化工具。注意,数和使用图形化工具。注意,sys.dm_db_index_physical_stats系统函系统函数替代了以前版本中的数替代了以前版本中的DBCC SHOWCONTIG命令。命令。2023/4/1418第18页,共20页,编辑于2022年,星期一维护索引统计信息维护索引统计信息l统计信息是存储在统计信息是存储在Microsoft SQL Server中的列数据中的列数据的样本。这些数据一般地用于索引列,但是还可以的样本。这些数据一般地用于索引列,但是还可以为非索引列创建统计。为非索引列创建统计。Microsoft SQL Server维护某维护某一个索引关键值的分布统计信息,并且使用这些统计信息一个索引关键值的分布统计信息,并且使用这些统计信息来确定在查询进程中哪一个索引是有用的。查询的优化依来确定在查询进程中哪一个索引是有用的。查询的优化依赖于这些统计信息的分布准确度。查询优化器使用这些数赖于这些统计信息的分布准确度。查询优化器使用这些数据样本来决定是使用表扫描还是使用索引。据样本来决定是使用表扫描还是使用索引。l当表中数据发生变化时,当表中数据发生变化时,Microsoft SQL Server周期性周期性地自动修改统计信息。索引统计被自动地修改,索引地自动修改统计信息。索引统计被自动地修改,索引中的关键值显著变化。中的关键值显著变化。2023/4/1419第19页,共20页,编辑于2022年,星期一8.5 查询优化查询优化l在很多情况下,为了达到同样的结果,可以写出多个不同的查询在很多情况下,为了达到同样的结果,可以写出多个不同的查询形式。但是,不同的查询形式往往消耗的时间不相同,因此有不形式。但是,不同的查询形式往往消耗的时间不相同,因此有不同的性能。如何提高查询语句的性能呢?下面,介绍同的性能。如何提高查询语句的性能呢?下面,介绍Microsoft SQL Server查询优化器和优化隐藏的特点。查询优化器和优化隐藏的特点。l在查询语句中,在查询语句中,Microsoft SQL Server系统是如何判断是否使用索系统是如何判断是否使用索引或使用哪些索引呢?一般地,系统是根据索引的选择性和索引类型。引或使用哪些索引呢?一般地,系统是根据索引的选择性和索引类型。如果索引列的选择性很高,也就是说,索引列中的只有很少几行数据如果索引列的选择性很高,也就是说,索引列中的只有很少几行数据将被选中,那么应该使用索引。系统如何得到选择性呢?这就需要系将被选中,那么应该使用索引。系统如何得到选择性呢?这就需要系统的统计信息来确定。下面,通过一个示例讲述系统是如何选择索引统的统计信息来确定。下面,通过一个示例讲述系统是如何选择索引执行查询操作的。执行查询操作的。2023/4/1420第20页,共20页,编辑于2022年,星期一

    注意事项

    本文(索引和查询优化幻灯片.ppt)为本站会员(石***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开