文档介绍:肇庆学院计算机学院/软件学院实验报告专业软件工程班级软件2班陈焕荣学号201524133232课程名称数据库原理与设计学年2016—2017学期1□/2R课程类别专业必修R限选□任选□实践□评分:批阅老师:2017年月日实验七查询优化实验目的 了解DBMS对查询优化的处理过程。2. 增强查询优化的实践能力。 3. 进一步提高编写复杂查询的SQL脚本的能力。4. 巩固和加深理解查询相关理论。实验内容针对数据库ShiYan,完成以下查询优化操作。 (1)查询P表中各零件编号、名称及重量按86%计算后的信息,其中重量按86%计算后的查询列名改为“零件净重”。 要求:  考虑表扫描的情况。 考虑建立适当索引的情况。 3) 考虑重写SQL脚本的情况。 4) 用不同的方法实现本题中的查询操作,分析系统为各种查询实现方法生成的执行计划和客户统计信息。 5) 记录各种查询的平均执行时间,决定哪种查询实现方法是相对最优的。(2)查询没有使用天津供应商生产的零件并且当前工程所使用零件的颜色全部为红色的工程号JNO。 要求:  考虑表扫描的情况。  考虑建立适当索引的情况。 3) 考虑重写SQL脚本的情况。 4) 用不同的方法实现本题中的查询操作,分析系统为各种查询实现方法生成的执行计划和客户统计信息。 5) 记录各种查询的平均执行时间,决定哪种查询实现方法是相对最优的。实验结果(1)方法一:“表扫描”Sql语句如下:selectPNO,PNAME,WEIGHT*:方法二:“在P(PNO)上建立唯一索引”createuniqueindexPNO_indexonP(PNO)selectPNO,PNAME,WEIGHT*:由上可知,方法二相对最优。(2)方法一:多表间连接declareiintseti=0whilei<100beginseti=i+,P,==='红'实验结果截图:!='天津'end方法二:在每个表中分别查询declareiintseti=0whilei<100beginseti=i+:(=='红')(='天津')end方法三declareiintseti=0whilei<100beginseti=i+(='天津')(=='红')end实验结果截图: