• 全部考试
  • 考试报名
  • 考试时间
  • 成绩查询
  • 网络课程
  • 考试真题
  • 模拟试题
  • 招聘大全
  • 文档大全
  • 作文大全
  • 范文大全
  • 当前位置: 勤学考试网 > 全部考试 > 正文

    数据库实验七【大数据库实验报告材料七】

    时间:2020-06-30 07:45:54 来源:勤学考试网 本文已影响 勤学考试网手机站

      学院 计算机学院/软件学院

     实 验 报 告

     专业 软件工程 班级 软件2班 焕荣 学号 2 课程名称 数据库原理与设计

     学年2016—2017 学期 1□/ 2? 课程类别 专业必修? 限选□ 任选□ 实践□

     评分: 批阅老师: 2017年 月 日

     实验七 查询优化

     实验目的?了解DBMS对查询优化的处理过程。

     2.?增强查询优化的实践能力。?

     3.?进一步提高编写复杂查询的SQL脚本的能力。

     4.?巩固和加深理解查询相关理论。

     实验容

     针对数据库ShiYan,完成以下查询优化操作。?

     (1)查询P表中各零件编号、名称及重量按86%计算后的信息,其中重量按86%计算后的查询列名改为“零件净重”。?

     要求:?

     ?考虑表扫描的情况。

     ?考虑建立适当索引的情况。?

     3)?考虑重写SQL脚本的情况。?

     4)?用不同的方法实现本题中的查询操作,分析系统为各种查询实现方法生成的执行计划和客户统计信息。?

     5)?记录各种查询的平均执行时间,决定哪种查询实现方法是相对最优的。

     (2)查询没有使用天津供应商生产的零件并且当前工程所使用零件的颜色全部为红色的工程号JNO。?

     要求:?

     ?考虑表扫描的情况。?

     ?考虑建立适当索引的情况。?

     3)?考虑重写SQL脚本的情况。?

     4)?用不同的方法实现本题中的查询操作,分析系统为各种查询实现方法生成的执行计划和客户统计信息。?

     5)?记录各种查询的平均执行时间,决定哪种查询实现方法是相对最优的。

     实验结果

     (1)

     方法一:“表扫描”

     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)

     方法一:多表间连接

     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

     方法二:在每个表中分别查询

     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

     方法三

     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

     实验结果截图:

     方法四

     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

     由上可知,方法三最优。

     实验小结

     通过本次实验,了解DBMS对查询优化的处理过程。对于不懂的问题通过上网搜索和书上查找等方式,不仅能快速地掌握,还能了解到该问题涉及的其他方面的知识。

    • 考试时间
    • 范文大全
    • 作文大全
    • 课程
    • 试题
    • 招聘
    • 文档大全