实验9-查询优化

实验9-查询优化

ID:35959951

大小:218.29 KB

页数:4页

时间:2019-04-28

实验9-查询优化_第1页
实验9-查询优化_第2页
实验9-查询优化_第3页
实验9-查询优化_第4页
资源描述:

《实验9-查询优化》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、--WORD格式---可编辑--实验9查询优化----WORD格式---可编辑--一、实验目的----WORD格式---可编辑--1、了解数据库查询优化方法和查询计划的概念。2、学习如何分析查询的代价,并通过建立索引或者修改SQL语句来降低查询代价。----WORD格式---可编辑--二、实验平台----WORD格式---可编辑--SQLServer2005,及其交互查询工具(查询分析器)。三、实验内容和要求SQLSERVER的查询优化经过了三个阶段:查询分析、索引选择、合并选择。查询优化器进行语法分析,并且制定出一个查

2、询的执行计划的过程是:首先对每个子句进行语法分析,并判定是否能够使用该子句限制查询必须扫描的数据量,子句中的条件可能会作为索引中的一个查找参数;再对查询进行语法分析,找出全部查找参数后,查询优化器判定在查找参数上是否存在索引,及该索引是否有效。接着,查询优化器得出一个查询计划;最后,查询优化器估算执行该计划的开销。1、实验环境初始化(1)、打开SQLServerManagementStudio。执行instnwnd.sql文件,生成Northwind数据库,选择要操作的Northwind数据库(Northwind数据库包含一个

3、名为NorthwindTraders的虚构公司的销售数据,该公司从事世界各地的特产食品进出口贸易)。(2)、在菜单栏中选择“工具”——“选项”,在“选项”对话框中,展开左边的“查询计划”——SQLServer——高级,勾选右边“SETSTATISTICSTIME”和“SETSTATISTICSIO”这两个选项,单击“确定”按钮。----WORD格式---可编辑--(3)、将SQL脚本加载到ManagementStudio查询编辑器后,通过单击查询编辑----WORD格式---可编辑--器工具栏上的“显示估计的执行计划”或“

4、包括实际的执行计划”按钮,可以选择是显示估计的执行计划还是显示实际的执行计划。如果单击“显示估计的执行计划”,则将分析该脚本并生成估计的执行计划。如果单击“包括实际的执行计划”,则必须在生成执行计划之前执行该脚本。分析或执行脚本之后,请单击“执行计划”选项卡以查看执行计划输出的图形表示形式。----WORD格式---可编辑--单击查询编辑器工具栏上的“包括客户端统计信息”按钮,当运行一条SQL----WORD格式---可编辑--语句,在“消息”选项卡中就会显示出相关的统计信息。2、实验步骤UseNorthwindGO(一

5、)查看执行计划和所花费的成本执行SQL语句:SELECTProductNameFROM[dbo].[OrderDetails]b,ProductsaWHEREb.ProductID=a.ProductID----WORD格式---可编辑--其执行计划如图1,执行计划中的图标分别表示一个逻辑或物理的运算符:图1将鼠标放在某个物理或逻辑运算符中,该运算符的执行计划会显示出来,如图2所示:图2从图1可以看出此执行计划的执行步骤:a、首先对Products表进行聚集索引扫描,代价估计为16%;b、对OrderDetails表进行索引扫

6、描,代价估计为36%;c、对两张表合并联接,代价估计为48%。(二)、查找订购了“Grandma'sBoysenberrySpread”的商品的客户编号、客户名称、订单编号、订货数量和订货金额,并按客户编号排序输出。执行SQL语句:SELECTa.CustomerID,CompanyName,b.OrderID,Quantity,Quantity*c.UnitPricetotalFROMCustomersa,Ordersb,[dbo].[OrderDetails]c,ProductsdWHEREa.CustomerID=b.C

7、ustomerIDANDb.OrderID=c.OrderIDANDc.ProductID=d.ProductIDANDProductName='Grandma''sBoysenberrySpread'ORDERBYa.CustomerID----WORD格式---可编辑--其查询计划如图3:----WORD格式---可编辑--图3从图3中可以看到其执行步骤。(1)首先对表Products进行索引查找,将扫描结果中满足“Grandma'sBoysenberrySpread”的商品选取出来,代价估计为3%。将鼠标放在该物理运算符

8、上,会显示出详细代价信息,I/O成本为0.003125,CPU成本为0.0001581,总成本为0.0032831。(2)对OrderDetails表进行索引查找,代价估计为3%。(3)在内存中对1、2步得到的结果做一个嵌套连接,获得订购了“Grandma'sBoysenbe

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

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

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