北邮 大三下 数据实验六 mysql版本.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
北邮 大三下 数据实验六 mysql版本

实验报告 学 院: 计算机学院 课程名称: 数据库系统 实验名称: 实验六 数据查询分析实验 班 级: 2009211311 姓 名: schnee 学 号: 实验六 数据查询分析实验 1. 实验目的 通过对不同情况下查询语句的执行分析,巩固和加深对查询和查询优化相关理论知识的理解,提高优化数据库系统的实践能力,熟悉了解MySQL Server 5.5中查询分析器的使用,并进一步提高编写复杂查询的SQL 程序的能力。 2. 实验环境 操作系统:Microsoft Windows 7旗舰版 (32位)。 软件:数据库版本:MySQL 5.5 3. 实验内容及过程 3.1. 索引对查询的影响 3.1的四个小题,由于MySQL没有聚集索引与非聚集索引之分,所以无法验证,直接给出讨论结果。 3.1.1. 对结果集只有一个元组的查询分三种情况进行执行(比如查询一个具体学生的信息),用查询分析器的执行步骤和结果对执行进行分析比较。 3.1.1.1. 不建立索引,在student表中查询学号为“31427”的学生 登录mysql后输入set profiling=1; 然后执行语句,则show profiles就显示出来之前输入的命令的执行时间。 如果查询细节的话则show profile for query 2; 2即语句的顺序。 详见截图,则执行时间约为60毫秒: 详细的select * from student where sno=’31427’;的执行细节则为: 3.1.1.2. 在学号上建立非聚集索引 3.1.1.3. 在学号上建立聚集索引 先解释下索引。索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存。如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。表里面的记录数量越多,这个操作的代价就越高。如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何记录即可迅速得到目标记录所在的位置。 聚集索引又叫主索引,其索引的排序方式和正文的排序方式一致。每个表只能有一个聚集索引,因为目录只能按照一种方法进行排序。用聚合索引比用不是聚合索引的主键速度快;用聚合索引比用一般的主键作order by时速度快,特别是在小数据量情况下。 相对应的,非聚集索引也叫辅助索引。 当数据量很小的时候,用聚集索引作为排序列要比使用非聚集索引速度快得明显的多;而数据量如果很大的话,如10万以上,则二者的速度差别不明显。此外,聚集索引插入数据时速度要慢(时间花费在“物理存储的排序”上,也就是首先要找到位置然后插入)。但是查询数据比非聚集数据的速度快。 由于学号是student的主键,所以根据以上分析,我们可以知道,当只有一个查询结果时,这三种方法的快慢排序为: 非聚集索引 快于聚集索引 快于 无索引。 (附:同学在SQL Server下测试的执行时间结果为1ms : 2ms : 21ms) 3.1.2. 对结果集中有多个元组的查询(例如查看某门成绩的成绩表,在此,以查看sc表的“C01”成绩为例)分类似3.1.1的三种情况进行执行比较。 对于有多个元组的查询情况,差别不如3.1.1那么明显。三种情况差别都不大。 不过,还是聚集索引 快于 非聚集索引 快于 无索引。 (附:同学在SQL Server下测试的执行时间结果为26ms : 29ms : 32ms) 3.1.3. 对查询条件为一个连续的范围的查询(例如查看学号在某个范围内的学生的选课情况,在此以查询sc表中学号在’31404’和’31420’之间的学生的学号和课程号为例)分类似3.1.1.的三种情况进行执行比较,注意系统处理的选择。 对于查询条件为一个连续的范围的查询的情况,非聚集索引与无索引差别不是很大,不过聚集索引明显会快很多。 总体上, 还是聚集索引 快于 非聚集索引 快于 无索引。 (附:同学在SQL Server下测试的执行时间结果为11ms : 26ms : 29ms) 3.1.4. 索引代价。在有索引和无索引的情况下插入数据(例如在选课情况表SC 上插入数据),比较插入的执行效率。 并非所有的情况索引都是会使速度变快的,比如我们往sc表里插入一条记录(‘001’,’C01’,’100’),同学在SQL Server下测试的执行时间结果为无

文档评论(0)

lxiencan + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档