《数据库实验报告七.pdf》由会员分享,可在线阅读,更多相关《数据库实验报告七.pdf(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、.肇庆学院计算机学院/软件学院实验报告专业 软件工程班级 软件 2 班陈焕荣学号 201524133232 课程名称数据库原理与设计学年 20162017 学期1/2课程类别专业必修限选 任选 实践评分:批阅老师:2017 年月日实验七 查询优化实验目的1.了解 DBMS 对查询优化的处理过程。2.增强查询优化的实践能力。3.进一步提高编写复杂查询的SQL脚本的能力。4.巩固和加深理解查询相关理论。实验内容针对数据库 ShiYan,完成以下查询优化操作。(1)查询 P 表中各零件编号、名称及重量按86%计算后的信息,其中重量按86%计算后的查询列名改为“零件净重”。要求:1)考虑表扫描的情况。
2、2)考虑建立适当索引的情况。3)考虑重写 SQL脚本的情况。4)用不同的方法实现本题中的查询操作,分析系统为各种查询实现方法生成的执行计划和客户统计信息。5)记录各种查询的平均执行时间,决定哪种查询实现方法是相对最优的。.(2)查询没有使用天津供应商生产的零件并且当前工程所使用零件的颜色全部为红色的工程号 JNO。要求:1)考虑表扫描的情况。2)考虑建立适当索引的情况。3)考虑重写 SQL脚本的情况。4)用不同的方法实现本题中的查询操作,分析系统为各种查询实现方法生成的执行计划和客户统计信息。5)记录各种查询的平均执行时间,决定哪种查询实现方法是相对最优的。实验结果(1)A.方法一:“表扫描”
3、Sql 语句如下: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)A.方法一:多表间连接declare i int set i=0 while i100 begin set i=i+1 select SPJ.JNO from SPJ,P,S where P.PNO=SPJ.PNO and SPJ.
4、SNO=S.SNO and P.COLOR=红 实验结果截图:and S.CITY!=天津.end.B.方法二:在每个表中分别查询declare i int set i=0 while i100 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=
5、0 while i100 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 i100 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.由上可知,方法三最优。.实验小结通过本次实验,了解DBMS 对查询优化的处理过程。对于不懂的问题通过上网搜索和书上查找等方式,不仅能快速地掌握,还能了解到该问题涉及的其他方面的知识。
限制150内