查询模型

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(空间数据库)查询模型和空间索引相关推荐

  1. Oracle Spacial(空间数据库)空间索引

    1.空间索引的创建 1)创建索引之前总是要为空间层插入元数据 2)如果之前创建的索引失败了,必须先删除才能创建 Drop index customers_sidx; 创建索引: Create inde ...

  2. oracle的空间数据库

    oracle的空间数据库: 2007-12-21 16:31:12 分类: Oracle 简单研究一下, 收藏, 详细内容看下面 [@more@] 1. 什么是oracle的空间数据库: oracle ...

  3. oracle vpd策略,oracle vpd 策略查询

    Oracle VPD策略示例 - abce - 博客园 2015年12月14日 Oracle VPD策略示例 1.未创建前使用oe用户登录查询: + View Code + View Code 2.创 ...

  4. 在线ER模型设计:Oracle导入生成ER模型

    概述 ER模型使用可视化了实体存储的信息,以及直观的呈现了实体与实体的关系,在我们实际的应用系统开发过程中新建ER模型可以更好的理解业务模型,为以后的开发维护工作起到归纳总结的作用. Freedgo ...

  5. oracle 数据库怎么查询,Oracle 数据库基础查询

    1.1文件存储 对数据的存储需求一直存在.数据保存的方式,经历了手工管理.文件管理,数据库管理阶段. 文件存储方式保存数据的弊端: 1.缺乏对数据的整体管理,数据不便修改: 2.不利于数据分析和共享; ...

  6. oracle层次查询用处,Oracle描述层次查询(hierarchicalquery)

    欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入 有关Oracle描述层次查询(hierarchical query)的详细情况,先看一张图: 正确答案:BD A错误,树 ...

  7. Oracle中分页查询语句

    Oracle分页查询语句使我们最常用的语句之一,下面就为您介绍的Oracle分页查询语句的用法,如果您对此方面感兴趣的话,不妨一看. Oracle分页查询语句基本上可以按照本文给出的格式来进行套用. ...

  8. 实验五 oracle高级数据查询技术

    实验五 oracle高级数据查询技术 实验目的:  一.掌握日期型数据的操作技术  二.掌握层次查询技术  三.理解情景查询与翻译查询技术  四.了解统计查询技术 实验内容: 一.日期型数据的操作   ...

  9. oracle存储过程 多条件,Oracle多条件查询实际分页存储过程实操

    以下的文章主要是介绍Oracle多条件查询分页存储过程,以下就是Oracle多条件查询分页存储过程具体方案的描述,希望在你今后的学习中会有所帮助.将业务逻辑放到Oracle中使得后台代码很精简,Ora ...

最新文章

  1. 计算机的网络端口管理器,Win7设备管理器没有端口选项的三大原因及解决措施...
  2. better-scroll 的介绍
  3. c语言前置函数,C语言高级编程-函数前置与后置调用
  4. Spark 运行模式 standalong yarn
  5. 说说 ES6 的 let 指令
  6. 计算机网络【三】物理层数据通信
  7. 哈夫曼树编码与译码(完整C/C++实现代码)
  8. 【剑指offer】面试题34:二叉树中和为某一值的路径
  9. imgkit分辨率_pythonhtml2image: imgkit 和 wkhtmltoimage的坑
  10. oo第一次博客-三次表达式求导的总结与反思
  11. Android 中shape的使用(圆角矩形)
  12. 找不到 查找_当心Excel查找替换错误,别犯“台风致山东全省人死亡”的错误
  13. hdu1002——A + B Problem II
  14. 高新区 中国智慧城市大数据创新联盟揭牌
  15. 「opennurbs」我直接进行一个Opennurbs的手动编译
  16. java8 foreach 异常_在java 8流foreach中抛出异常
  17. python手写板_Python3使用PyQt5制作简单的画板/手写板的代码详解
  18. 用粒子群解决有约束的最优解问题
  19. 华为云开发者官网首页焕新升级,赋能开发者云上成长
  20. 索尼克通信支付宝、超声波、蟋蟀和其他定制版本源代码

热门文章

  1. python traceback_Python中的traceback模块
  2. log日志级别与简介
  3. nlogn的LIS(最长上升子序列)算法讲解
  4. 计算机信息技术外文文献综述,国内外信息技术与课程整合说  文献综述报告...
  5. Pedestrian Detection
  6. SwiftUI之深入解析三角函数和三角公式的应用
  7. 看完这篇 教你玩转渗透测试靶机Vulnhub——DriftingBlues-1
  8. 微信文章右上角 不显示推送到亚马逊kindle服务号
  9. 中本聪更新个人状态;中国区块链技术应用反诈骗中心正式成立
  10. python培训感悟,Python培训知识总结系列