资源描述:
《北邮大三下第6次数据库实验报告--mysql》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、11Catherine2015实验六数据查询分析实验一、实验内容1、索引对查询的影响(1)对结果集只有一个元组的查询分三种情况进行执行(必如查询一个具体学生的信息):不建立索引,(学号上)建立非聚集索引,(学号上)建立聚集索引。用查询分析器的执行步骤和结果对执行进行分析比较。(2)对结果集中有多个元组的查询(例如查看某门成绩的成绩表)分类似(1)的三种情况进行执行比较。(3)对查询条件为一个连续的范围的查询(例如查看学号在某个范围内的学生的选课情况)分类似(1)的三种情况进行执行比较,注意系统处理的选择。(4)索引代价。在有索引和无索引的情况下
2、插入数据(例如在选课情况表SC上插入数据),比较插入的执行效率。2、对相同查询功能不同查询语句的执行比较分析3、查询优化除了建立适当索引,对SQL语句重写外,还有其他手段来进行查询调优,例如调整缓冲区大小,事先建立视图等。设计实现下列查询,使之运行效率最高。写出你的查询形式,以及调优过程;并说明最优情况下的运行时间。(1)查找选修了每一门课的学生。(2)查找至少选修了课程数据库原理和操作系统的学生的学号。二、实验要求(1)用SQL语句完成以上操作(2)要求学生独立完成以上内容。(3)实验完成后完成要求的实验报告内容。三、实验环境系统:windo
3、ws7软件:mysql5.6四、实验步骤及结果分析4.1.索引对查询的影响4.1.1对结果集只有一个元组的查询分三种情况进行执行(必如查询一个具体学生的信息):登录mysql后输入setprofiling=1;showprofiles显示出来之前输入的命令的执行时间。showprofileforqueryn查询细节;(1)不建立索引,在student表中查询学号为“31401”的学生:11Catherine2015select*fromstudentwheresno=’31401’;的执行:删除主索引:ALTERTABLEtable_nameD
4、ROPPRIMARYKEY显示当前表格student无索引:执行命令:(2)(学号上)建立聚集索引并显示:执行命令:11Catherine2015(3)建立非聚集索引(普通索引):显示索引:执行时间:(4)比较:无索引时执行select*fromstudentwheresno=’31401’;耗时0.00042125秒,建立聚集索引耗时:0.00092075秒,非聚集索引耗时0.00065700s,每次执行的时间都不太一样,所以结果集只有一个元组的查询三种情况下耗时差不多一样。4.1.2对结果集中有多个元组的查询分类似(1)的三种情况进行执行比
5、较。Select*fromscwheregrade>=96(1)无索引:11Catherine2015(2)聚集索引:(3)非聚集索引:执行:11Catherine2015(4)比较:无索引耗时:0.00145075秒,聚集索引耗时:0.00079200,非聚集索引耗时0.000874s,所以结果集中有多个元组的查询的情况下聚集索引速度快。聚集索引>非聚集索引>无索引。4.1.3对查询条件为一个连续的范围的查询(例如查看学号在某个范围内的学生的选课情况)分类似(1)的三种情况进行执行比较,注意系统处理的选择。(1)无索引:(2)聚集索引:(3)
6、非聚集索引:(4)比较:无索引时耗时:0.00077350s,聚集索引耗时0.00061975s,非聚集索引耗时0.00061975s,说明查询条件为一个连续的范围的查询的情况下聚集索引快,聚集索引>非聚集索引>无索引。4.1.4索引代价。在有索引和无索引的情况下插入数据(例如在选课情况表SC上插入数据),比较插入的执行效率。insertintostudentvalues('33331','陈菊','女','1980-1-200:00','电信','3022');insertintostudentvalues('33332','李元','女',
7、'1980-1-200:00','电信','3022');insertintostudentvalues('33333','郭莉','女','1980-1-200:00','电信','3022');insertintostudentvalues('33334','王倩为','女','1980-1-200:00','电信','3022');insertintostudentvalues('33335','张园','男','1980-1-200:00','计算机','3146');(1)无索引:11Catherine2015(2)聚集索引:(3)非
8、聚集索引:(4)比较:无索引耗时:0.2870995s,聚集索引耗时:0.259401s,非聚集索引耗时:0.441546s,表明在插入数据的情况下,