- 1、本文档共41页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
北京邮电大学
实验报告
课程名称数据库系统原理
实验名称数据查询分析优化实验
计算机学院网络工程11班
薛玥
指导教师吴起凡
成绩
2014-5-20
目录
实验目的
实验环境
实验内容
实验步骤
实验问题及感想40
遇到的问题40
感想
实验目的
1.熟悉了解SQLSERVER数据库中查询优化的使用,理解数据库查询优化的基本概念。
2.结合文档“数据库物理设计及查询优化-v1-110320.doc”,通过对不同情况下查询语句的
执行情况的对比分析,巩固加深查询优化的理解,并进行书写优化SQL语句的初步训练,
提高编写高效SQL语句进行数据查询的能力。
实验环境
众所周知,SQL查询需要进行优化,好的优化甚至可能提高效率几个数量级。SQL
SERVER在执行查询时分为两个步骤:第一步是编译查询,生成查询计划,第二步执行该计
划。编译查询分为分析、代数化和优化三个阶段,完成编译后系统将把计划保存在缓存中,
以后执行该查询时可直接调用,而省略重新编译过程。然后执行引擎将计划复制为可执行形
式并执行之。采用SQLSERVER数据库管理系统作为实验平台,可以采用SQLSERVER
2005、2008或2012,并使用其各种版本。
实验内容
实验中要进行表中记录数多少、结果集大小、有无索引、不同书写方式的等效SQL、
多表连接查询等情况进行查询计划分析,并比较各种查询计划的效率优劣。
实验步骤
一、查询执行计划观察
从“实验四数据查询与修改实验”中,选取涉及多表查询的select查询语句,执行该
语句,利用MicrosoftSQLServerManagementStudio(Express),就可以观察该语句的查询执
行计划,分析查询执行计划包含的各项基本关系代数操作和查询代价。
二、索引对查询、插入、删除、更新的影响
1.单表查询(针对GSM数据库)
针对表BTS,在BTS经度上建立非簇集索引(必须使用Createindex语句),进行下列查
询:
首先在longitude上面建立索引。如下图所示。
(1)查询BTS经度位于121.089335和121.142595之间的BTS基本信息。
(1)对海拔查询一个范围内的所有记录(例如大于30,小于60)。
(2)对BTS经度进行大范围查询(就是结果集包括几乎所有记录)。
Q:分析三种情况下的查询计划有何不同?
A:由于是在BTS的Longitude上建立的非聚集索引,在1、3产讯现在所印象中查找符合
要求的值,再找到BTS中找到其他需要的列。而由于没有还把上的索引,2直接扫描BTS表
的所有项得到结果。
(1)表中记录数多少的影响:
如果BTS表中只有一条记录,重复上面的三个查询。
向表中插入一条记录:
①查询BTS经度位于121.089335和121.142595之间的BTS基本信息。(类比的做)
②对海拔查询一个范围内的所有记录(例如大于30,小于60)。
③对BTS经度进行大范围查询(就是结果集包括几乎所有记录)。
)不同索引类型对查询的影响
a.在经度上建立簇集索引,重复上面的三个查询。
①.查询BTS经度位于121.089335和121.142595之间的BTS基本信息。(类比的做)
②对海拔查询一个范围内的所有记录(例如大于30,小于60)。
selectBTS.*
fromBTS
wherealtitudebetween30and60
经度进行大范围查询(就是结果集包括几乎所有记录)。
通过上
文档评论(0)