我是靠谱客的博主 乐观书本,最近开发中收集的这篇文章主要介绍Oracle Spacial(空间数据库)查询模型和空间索引,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

查询模型

         Spatial采用两级查询模型来实现空间查询和空间连接

                   空间查询分为两个独立的操作,两次操作的结果合成为最终结果

                   两个操作分别称为主过滤Primaryfilter和次过滤Secondary filter

                            主过滤先进行粗略的比较,快速生成查询结果的候选几何对象集合,计算代价小

                            次过滤对来自主过滤的候选集合进行精确的匹配,生成精确的最终结果,计算代价高,但主过滤大大降低了计算复杂度

         Spatial采用空间索引来实现主过滤,快速从大量数据集中找出查询结果的候选集

         某些操作可以只进行代价低的主过滤,如地图显示的缩放所需进行的查询

 

空间索引

Oracle Spatial的两种空间索引

         R树R-tree

         四叉树quadtree

         分别适合不同的应用场合

         可以在一个几何字段上同时创建两种索引

                  使用ALTER INDEX的add_index参数

         在空间运算中可以指定使用哪个索引

                   如SDO_RELATE的idx_tab1/idx_tab2选项


R-tree和Quad-tree比较

R-Tree

Quad-tree

几何形的近似形不可调节,采用

最小包围盒

可以通过设定分片级别和数量来调节

几何形的近似形

索引的创建和调整容易

调整较复杂,会显著影响性能

相对较少的存储空间

相对较大

对最近邻居SDO_NN查询较快

对最近邻居查询较慢

更新数据的效率较低

频繁更新数据不会影响索引的性能

可以多到四维空间索引

只能在二维空间索引

SDO_WITHIN_DISTANCE查询效率高

能够实现全球的索引

 

 

 

最后

以上就是乐观书本为你收集整理的Oracle Spacial(空间数据库)查询模型和空间索引的全部内容,希望文章能够帮你解决Oracle Spacial(空间数据库)查询模型和空间索引所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部