天津理工大学数据库实验数据库设计与查询优化:.doc
文本预览下载声明
实验报告
学院(系)名称:计算机与通信工程学院
姓名 xx 学号 xx 专业 信息安全 班级 2班 实验名称 数据库设计与查询优化 课程名称 数据库系统 课程代码 0668026 实验时间 实验地点 7—219 批改意见 成绩
教师签字: 实验目的
2)体会索引前和索引后执行效率的变化;
熟悉对于实现相同功能,不同编程方法(比如连接和嵌套等)的效率。
2. 实验3. 实验要求. 实验过程记录(源程序、测试用例、测试结果及心得体会等)
1. 对于student1表,不按照姓名创建索引,查询某个姓名,所需要的时间。
2. 对于student1表,按照姓名创建索引,查询某个姓名,所需要的时间。
3. 对于student1表,不按照系别创建索引,查询某个系所有学生,所需要的时间。
4. 对于student1表,按照系别创建各种索引,查询某个系所有学生,所需要的时间。
5. 查询sc1表所需时间。
6. 将student1和sc1连接所需时间。
系统蓝屏
7.系统蓝屏
8. 查询选修了“数据库”学生的学号姓名,分别用嵌套和连接的方法,观察两种方法所用的时间。
嵌套查询
连接查询
分析原因:连接查询的时间比嵌套查询的时间长:
原因:在相同条件下SQL的速度跟生成结果集关系较大,结果集越多速度越慢,一般连接会比嵌套产生更少的结果集(每级嵌套会生成一个结果集)
9. 将实验1中和实验2中各个操作在student1,course1,sc1上运行,观察各个操作所需时间。
(1)查询平均成绩60分以上的学生的学号。
(2)
select sname from Student1
where Sno not in (select Sno from SC1
where Cno in (select Cno from Course1
where Sname=数据库系统 ))and Sdept=计算机
(3)select distinct sno from SC1 sc1x
where not exists (select * from SC1 sc1y
where sc1y.Sno=1997000194 and not exists(select * from sc1 sc1z
where sc1z.sno=sc1x.sno and sc1y.Cno=sc1z.Cno ))
(*查询时间过长终止查询。)
(4)
select Sdept ,COUNT(sno)from Student1
group by Sdept
order by Sdept ASC
(5)
select sno, grade from SC1 sc1x
where Grade =(select AVG(Grade)from SC1 sc1y
where Cno =(select Cno from Course1
where Cname=数据库系统) )
(*查询时间过长终止查询。)
(6)任何一条命令会超过导致都会死机无法。
第18页 共18页
显示全部