专业:计算机、软件工程 班级:13软件1班 学号:201324133104 姓名:王熙婷
课程名称:数据库系统原理 2014 -2015学年度第2学期
课程类别:专业必修 实验时间:2015 年 6 月8日 |
实验名称:实验七——查询优化 |
实验目的和要求: 1. 了解DBMS对查询优化的处理过程 2. 增强查询优化的实践能力 3. 进一步提高编写复杂查询的SQL脚本的能力 4. 巩固和加深理解查询相关理论 |
实验软硬件要求: (1)有一台安装Windows 2000、Windows XP或Windows NT操作系统的计算机 (2)安装Microsoft SQL Server 2000或SQL Server 2005任意一版本(个人版、企业版、标准版) (3)实验人员应该掌握了SQL Server 2005的安装过程,并对Microsoft SQL Server 2000或SQL Server 2005的软件组成、各组成软件的用户操作界面及其主要功能作用有一定程度的了解。 (4)实验前创建好ShiYan 数据库。 |
实验内容、实验过程、所遇问题及其解决方法 (附页) |
实验总结及心得体会: (1)实验要求和目的基本掌握 (2)对于不懂的问题通过上网搜索和书上查找等方式,不仅能快速地掌握,还能了解到该问题涉及的其他方面的知识。 (3)要勤于动手,敢于尝试,对每一个知识点学会拓展。 |
评定成绩: 批阅教师: 2015年 月 日 |
实验内容、实验过程、所遇问题及其解决方法 |
针对数据库ShiYan,完成以下查询优化操作。 (1)查询P表中各零件编号、名称及重量按86%计算后的信息,其中重量按86%计算后的查询列名改为“零件净重”。 要求: 1)考虑表扫描的情况。 2)考虑建立适当索引的情况。 3)考虑重写SQL脚本的情况。 4)用不同的方法实现本题中的查询操作,分析系统为各种查询实现方法生成的执行计划和客户统计信息。 5)记录各种查询的平均执行时间,决定哪种查询实现方法是相对最优的。 A.方法一:“表扫描” select PNO,PNAME,WEIGHT*0.86 零件净重 from P B.方法二:“在P(PNO)上建立唯一索引” create unique index PNO_index on P(PNO) select PNO,PNAME,WEIGHT*0.86 零件净重 from P 由上可知,方法二相对最优。 (2)查询没有使用天津供应商生产的零件并且当前工程所使用零件的颜色全部为红色的工程号JNO。 要求: 1)考虑表扫描的情况。 2)考虑建立适当索引的情况。 3)考虑重写SQL脚本的情况。 4)用不同的方法实现本题中的查询操作,分析系统为各种查询实现方法生成的执行计划和客户统计信息。 5)记录各种查询的平均执行时间,决定哪种查询实现方法是相对最优的。 A.方法一:多表间连接 declare @i int set @i=0 while @i<100 begin set @i=@i+1 select SPJ.JNO from SPJ,P,S where P.PNO=SPJ.PNO and SPJ.SNO=S.SNO and P.COLOR='红' and S.CITY!='天津'
end B.方法二:在每个表中分别查询 declare @i int set @i=0 while @i<100 begin set @i=@i+1 select SPJ.JNO from SPJ where SPJ.PNO in(select P.PNO from P where P.PNO=SPJ.PNO and P.COLOR='红') and SPJ.SNO not in(select S.SNO from S where S.CITY='天津') end C.方法三 declare @i int set @i=0 while @i<100 begin set @i=@i+1 select SPJ.JNO from SPJ where SPJ.SNO not in(select S.SNO from S where S.CITY='天津') and SPJ.PNO in(select P.PNO from P where P.PNO=SPJ.PNO and P.COLOR='红') end D.方法四 declare @i int set @i=0 while @i<100 begin set @i=@i+1 select SPJ.JNO from SPJ where SPJ.SNO in(select S.SNO from S where S.CITY<>'天津') and SPJ.PNO in(select P.PNO from P where P.PNO=SPJ.PNO and P.COLOR='红') end 由上可知,方法三最优。 |