- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
空间数据库_查询与优化综述
空间查询与优化
一、查询处理概览
查询概念:
提取需要的数据出来从数据库中提取数据的一系列活动
查询步骤:
语法分析与翻译(将查询语句变为关系代数表达式)、
优化、
执行
查询优化概念:
为关系代数式的计算选择最有效的查询计划的过程。包括
1.查询执行计划、
2.执行原语(关系代数运算加了如何执行的注释)、
3.根据选择算法对数据记录进行操作
空间查询优化关键技术:
空间索引(数据存取角度,有效读写海量数据)、
查询处理算法(提高具体查询执行效率角度)、
代价模型(指导查询过程的角度)
查询优化过程:
1.通过语法分析语翻译器,将查询语句变为一种内部表达
2.代数优化 进行表达式变化,力图等价但效率更高
3.选择执行策略
4.选择代价最小的执行计划
查询处理优化可行性:
1. 可能性:SQL语言与关系代数表达式的非过程化(做什么,而不用说明怎么做)特点
2. 可行性:优化器集中了最优秀的程序员的经验与智慧;优化器能对多种策略逐一进行考虑;优化器实时更新优化 具有多种可使用信息
二、空间操作计算
空间操作计算与关系数据运算的区别:
1. 空间数据没有公认标准的定义,而关系数据库中的运算很固定
2. 空间对象的位置和范围在二维或多维上定义,不能自然排序成一维数组
3. 数据流读写:空间关系运算代价非常高
空间操作基本类型:查询
1.更新:空间对象的创建、修改和删除
2.空间选择(貌似就是查询):查询出空间对象中满足查询窗口中特定微词的对象。包括点查询()和范围查询()
3.空间连接:
4.空间聚类:
空间操作两步处理:
1.过滤步骤-主过滤:最小外包络矩形近似处理,大大减低计算复杂度
2.精炼步骤-次过滤:利用精确几何信息求算
空间选择查询
点查询:SELECT f.name FROM forest_stand WHERE within (:point , f.geometry);
范围查询:SELECT f.name FROM forest_stand WHERE intersects (:window, f.geometry);
实现方法依赖于数据文件的存储组织
查询的三种算法
1.未排序无索引的数据文件:穷举法,代价O(n),n是forest_stand存储的页面数
2.具有空间索引的数据文件:多采用R树,按照MBR索引,代价O(log n) , n为树的层
3.空间填充曲线散列:z排序和Hilbert曲线映射为一维坐标,然后采用B树或B+树索引
点查询代价O(log n),范围查询代价为O(log n)+。
R+树???
一般空间选择(空间谓词问题)
1. 组合形式下,空间谓词计算代价高且差别大,处理顺序对总代价影响大(顺序性)
2. 考虑空间谓词的选择性与代价以确定顺序:
等级=(选择性-1)/特征代价
选择性=输出p的集合大小/输入p的集合大小,p是一个谓词
特征代价是谓词对单个元组的计算代价,体现CPU的代价
输出与输入集合之比,体现了I/O代价
3. 按照代价等级的升序依次计算空间谓词
空间连接操作算法
采用粗过滤-精确判断两步方式
例:查找有河流穿过的林分
SELECT * From forest-stand F, river R Where overlap ( F.Geometry, R.Flood-plain )
假定:关系forest-stand占用M个页面,每页PF个元组,关系river占N个页面,每页PR个元组,一对对象执行overlap函数的平均时间为T,算法过程如下:
1. 嵌套循环:枚举所有可能的元组队,并用overlap函数进行检查,伪码语言:
For all tuple f∈F
For all tuple r∈R
If overlap( F.Geometry, R.Flood-plain )
then addf ,r to result
未优化的算法:扫描外层关系F,对每个f匹配扫描关系R,则I/O代价为(M*N)*T
优化算法,如果有B个可用的缓冲区页面,先读取关系F的B-2页,用剩下的一页缓冲区读取关系R,用另外剩下的缓冲区页回写f,r,I/O代价为(M/(b-2)*N)*T
有空间索引的嵌套循环,在Overlap时可以使用索引来判断,提高工作效率
2. 分块
过滤步骤:分别对F和R中的元组构造K-Pointer元组, 由唯一OID和外包络矩形构成,新关系称为Fkp 和Rkp 。如果新关系都可以装入主存,则采用平面扫描算法处理。否则,将两个关系都分成p块,即F1kp …Fpkp和R1kp … Rpkp 。
分块约束条件:Fkp 和Rkp 都位于主存;对于每个 Fkp ,在Rkp 中
您可能关注的文档
- 20万羽蛋鸡养殖建设项目2000万元可行性研究报告讲述.doc
- 20世纪中国美术现实主义内涵的变化与发展讲述.doc
- 空速管简介及误差修正综述.pptx
- 20以内加减法每日一练讲述.doc
- 空间几何体的三视图和直观图 1综述.ppt
- 20万吨经典啤酒厂课程设计讲述.doc
- 20以内加减法练习(12页_每页100题_A4纸)讲述.doc
- 20个你不知道的技巧讲述.docx
- 20以内加减法练习-每天28题讲述.doc
- 20以内加减法练习【完整版】讲述.doc
- 2-红河州建筑施工安全生产标准化工地复核评分表(2022年修改版).docx
- 6.锡通项目2018年下半年工作会汇报材料(2018.7.9).docx
- 2018道路工程知识点汇总(新版).docx
- 附件3:月度生产例会安全汇报资料-站台门项目部.docx
- 附件2:广东建工集团2018年度科技成果汇总表.DOC
- 马武停车区、三汇停车区停车位管理系统,0#台账缺量.doc
- 攀成钢委办发〔2015〕19号(党风廉政建设责任考核与追究办法).doc
- 1-红河州建筑工程质量管理标准化复核评分表(2022年修改版).docx
- 中交第三公路工程局第四工程分公司项目经济合同结算管理办法(修订).doc
- 厂站安全操作规程汇编.doc
文档评论(0)