- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
肇庆学院 计算机学院/软件学院
实 验 报 告
专业 软件工程 班级 软件 2 班 姓名 陈焕荣 学号 201524133232 课程名称 数据库原理
与设计
学年2016—2017 学期 1□/ 2 课程类别 专业必修 限选□ 任选□ 实践□
评分: 批阅老师: 2017 年 月 日
实验七 查询优化
⚫ 实验目的
1. 了解DBMS 对查询优化的处理过程。
2. 增强查询优化的实践能力。
3. 进一步提高编写复杂查询的SQL 脚本的能力。
4. 巩固和加深理解查询相关理论。
⚫ 实验内容
针对数据库ShiYan,完成以下查询优化操作。
(1)查询P 表中各零件编号、名称及重量按 86%计算后的信息,其中重量按 86%计算后的
查询列名改为“零件净重”。
要求:
1) 考虑表扫描的情况。
2) 考虑建立适当索引的情况。
3) 考虑重写SQL 脚本的情况。
4) 用不同的方法实现本题中的查询操作,分析系统为各种查询实现方法生成的执行计划和客
户统计信息。
5) 记录各种查询的平均执行时间,决定哪种查询实现方法是相对最优的。
(2 )查询没有使用天津供应商生产的零件并且当前工程所使用零件的颜色全部为红色的工程
号JNO 。
要求:
1) 考虑表扫描的情况。
2) 考虑建立适当索引的情况。
3) 考虑重写SQL 脚本的情况。
1
4) 用不同的方法实现本题中的查询操作,分析系统为各种查询实现方法生成的执行计划和客
户统计信息。
5) 记录各种查询的平均执行时间,决定哪种查询实现方法是相对最优的。
⚫ 实验结果
(1)
A. 方法一:“表扫描”
Sql 语句如下:
select PNO,PNAME,WEIGHT*0.86 零件净重
from P
实验结果截图:
2
B. 方法二:“在P (PNO )上建立唯一索引”
create unique index PNO_index on P(PNO)
select PNO,PNAME,WEIGHT*0.86 零件净重
from P
实验结果截图:
由上可知,方法二相对最优。
3
(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.SNO=S.SNO
and P.COLOR=红 实验结果截图:
and S.CITY!=天津
end
4
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=红
)
5
and SPJ.SNO not in
(select S.SNO
from S
where S.CITY=天津
)
end
文档评论(0)