- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库实验报告七.doc
实 验 报 告
专业:计算机、软件工程 班级:13软件1班 学号:201324133104 姓名:王熙婷
课程名称:数据库系统原理 2014 -2015学年度第2学期
课程类别:专业必修 实验时间:2015 年 6 月8日 实验名称:实验七——查询优化 实验目的和要求:
1. 了解DBMS对查询优化的处理过程
2. 增强查询优化的实践能力
3. 进一步提高编写复杂查询的SQL脚本的能力
4. 巩固和加深理解查询相关理论 实验软硬件要求:
有一台安装Windows 2000、Windows XP或Windows NT操作系统的计算机
安装Microsoft SQL Server 2000或SQL Server 2005任意一版本(个人版、企业版、标准版)
实验人员应该掌握了SQL Server 2005的安装过程,并对Microsoft SQL Server 2000或SQL Server 2005的软件组成、各组成软件的用户操作界面及其主要功能作用有一定程度的了解。
实验前创建好ShiYan 数据库。 实验内容、实验过程、所遇问题及其解决方法
(附页) 实验总结及心得体会:
实验要求和目的基本掌握
对于不懂的问题通过上网搜索和书上查找等方式,不仅能快速地掌握,还能了解到该问题涉及的其他方面的知识。
要勤于动手,敢于尝试,对每一个知识点学会拓展。 评定成绩: 批阅教师: 2015年 月 日
实验内容、实验过程、所遇问题及其解决方法 针对数据库ShiYan,完成以下查询优化操作。
(1)查询P表中各零件编号、名称及重量按86%计算后的信息,其中重量按86%计算后的查询列名改为“零件净重”。
要求:
考虑表扫描的情况。
考虑建立适当索引的情况。
考虑重写SQL脚本的情况。
用不同的方法实现本题中的查询操作,分析系统为各种查询实现方法生成的执行计划和客户统计信息。
记录各种查询的平均执行时间,决定哪种查询实现方法是相对最优的。
方法一:“表扫描”
select PNO,PNAME,WEIGHT*0.86 零件净重
from P
方法二:“在P(PNO)上建立唯一索引”
create unique index PNO_index on P(PNO)
select PNO,PNAME,WEIGHT*0.86 零件净重
from P
由上可知,方法二相对最优。
(2)查询没有使用天津供应商生产的零件并且当前工程所使用零件的颜色全部为红色的工程号JNO。
要求:
考虑表扫描的情况。
考虑建立适当索引的情况。
考虑重写SQL脚本的情况。
用不同的方法实现本题中的查询操作,分析系统为各种查询实现方法生成的执行计划和客户统计信息。
记录各种查询的平均执行时间,决定哪种查询实现方法是相对最优的。
方法一:多表间连接
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
方法二:在每个表中分别查询
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
方法三
declare @i int
set @i=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=
原创力文档


文档评论(0)