实验六数据查询分析实验
1、实验目的
通过对不同情况下查询语句的执行分析,巩固和加深对查询和查询优化相关理论知识的理解,提高优化数据库系统的实践能力,熟悉了解kingbase中查询分析器的使用,并进一步提高编写复杂查询的SQL 程序的能力。
2、实验环境
操作系统:Microsoft Windows 7旗舰版(32位)。
数据库版本:MySQL 6.2
3、实验内容
3.1 索引对查询的影响
(1)对结果集只有一个元组的查询分三种情况进行执行(比如查询一个具体学生的信息):
a)不建立索引
b)(学号上)建立非聚集索引
c)(学号上)建立聚集索引
用查询分析器的执行步骤和结果对执行进行分析比较。
(2)对结果集中有多个元组的查询(例如查看某门成绩的成绩表)分类似(1)的三种情况进行执行比较。
(3)对查询条件为一个连续的范围的查询(例如查看学号在某个范围内的学生的选课情况)分类似(1)的三种情况进行执行比较,注意系统处理的选择。
(4)索引代价。在有索引和无索引的情况下插入数据(例如在选课情况表SC 上插入数据),比较插入的执行效率。
3.2对相同查询功能不同查询语句的执行比较分析
(1)有和没有group by,比较其查询效率,并分析。
group by
select avg(grade)
from sc
group by cno
having cno =100
select avg(grade)
from sc
where cno = 100
(2)重写后的查询一定比原始查询更优吗?通过执行分析结果。
select sno,sname,age
from student s1