第5章 空间索引与优化分解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

33D 35F 41 32 34 40
Peano键
空间对象 B E E E E E A,E E E D D D,F E D E E E E C
空 间 索 引
7 12 13 14 15 24 25 26 27 32 33 35 37 38 39 45 50 51 54
对 象 索 引
空间对象 A
Peano键集 25-25
年龄 19 20 19 18 18 20
系别 计算机 城环系 城环系 中文系 中文系 计算机
• 查询005号学生的信息:
SELECT * FROM student WHERE 学号=‘005’
学号
001
姓名
aaa
性别

年龄
19
系别
计算机
002
003
bbb
ccc


20
19
城环系
城环系
004
005
ddd
空间对象集合
ID 1 2 3 … Xmax … … … … Xmin … … … … Ymax … … … … Ymin … … … …
5
4
1 6
3
2
ymax
y
YN
xmin
x
4
ymin
xmax
XW
检索窗口
XE
YS
空间对象不被检索
Xmax ≤ XW OR Xmin ≥ XE OR Ymax ≤ YS OR Ymin ≥YN 空间对象被检索 Xmax ≥ XW and Xmin≤XE AND Ymax ≥ YS and Ymin≤YN
Biblioteka Baidu
• 第二阶段:
– 几何过滤器的封装边界与第一阶段检索出的要素的边界相比较, 找出具有重叠关系的要素
• 第三阶段
– 几何过滤器的坐标与第二阶段检索出的要素的边界比较,找出边 界在几何过滤器内的要素
– 索引是一种独立的对象,用来快速地寻找那些 具有特定值的记录 – 索引要占用存储空间 – 索引可以减少全表扫描,从而提高检索速度
• 例如:学生信息表student如下:
学号 001 002 003 004 005 006
姓名 aaa bbb ccc ddd eee fff
性别 男 男 女 男 女 女
第五章 空间索引与查询优化
2013.4
第五章 空间索引与查询优化
• 第一节 空间索引
• 第二节 空间查询优化
第一节 空间索引
• 一部工具书好比是一个微型数据库;工具 书的索引,就好比进入它的数据库的钥匙。
• 数据库的索引用来快速访问一条特定查询
所请求的数据,而无需遍历整个数据库。
定义
• 索引:
定义
• 空间索引:
– 空间索引就是指依据空间对象的位置和形状或 空间对象之间的某种空间关系,按一定的顺序 排列的一种数据结构,其中包含空间对象的概 要信息,如对象的标识、外接矩形及指向空间
对象实体的指针。
• 空间索引的基本思想,也是空间查询的基
本思想,即近似体的使用。
• 让索引结构按照一个或多个空间码来管理
D
B
C
A E F
基于实体范围的空间数据检索
对象范围索引
• 这种方法没有创建真正的空间索引文件,而是在 空间对象的数据文件中增加了矩形范围,主要依 靠空间计算进行判别。 • 查询时仍需要对整个数据文件的空间对象进行检 索,只是某些对象可以通过矩形范围予以直接判 别,而有些对象仍需要进行复杂计算才能判别。 • 虽然该方法仍需要花费大量时间来进行空间检索, 但随着计算机的处理速度的加快,这种方法在一 定程度上能够满足查询检索的效率要求
eee


18
18
中文系
中文系
006
fff

20
计算机
学号 位置
001 002 003 004 005 006
学号 姓名 性别 年龄
001 aaa 002 bbb 003 ccc 004 ddd 005 eee 006 fff 男 男 女 男 女 女
系别
19 计算机 20 城环系 19 城环系 18 中文系 18 中文系 20 计算机
–例如:查找经过河南省的所有河流。
• 常规方法:检查所有河流和河南省省
界是否相交。
缺点:用实际空间对象比较,算法复杂,
计算开销大、IO开销大。
• 索引方法:记录河流和省界的外接矩 形。用外接矩形进行比较。
空间属性表描述要素的一般信息, 空间索引表描述要素所在格网的信息, 要素描述表描述要素的点数,范围等信息, 三张表通过FID(Feature ID)关联
的物体的关键字。
21
23
29
31
53
55
20
17 16 5 4 1 0
22
28 A 19 25
18 24
30
27
52
49 48 37 36
61 C 54 60 51 50 39 38 57 56 45 44
63
62
59 58 47 46 43 42
26 E 7B 13 15 6 3 2 12 9 8 14 11 10
等的格网,记录每一个格网所包含的空间 实体 • 用户进行空间查询时,首先计算出用户查 询对象所在格网,然后再在该网格中快速 查询所选空间实体
• 通常是把整个数据库数值空间划分成32×32
(或64×64)的正方形网格,建立另一个倒
排文件——栅格索引。
–每一个网格在栅格索引中有一个索引条目(记
录),在这个记录中登记所有位于或穿过该网格
对象范围索引
• 在进行空间范围查询时,分为两级过滤(筛选):
• 初次过滤根据空间要素外包络矩形来过滤掉大 部分不在查询范围的空间要素; • 第二级过滤则用查询空间范围直接和初次过滤 结果集中空间要素的二进制边界坐标比较,从
而得到查询的准确结果。
2 2 4
5
1 1 3 3 2
1
二、格网索引
• 将研究区域用横竖线条划分大小相等和不
对象,这些空间码是比对象本事更简单的
几何对象。
• 常见的空间索引:
– 对象范围索引
– 格网索引
– 四叉树索引
– R树和R+树索引 – BSP树索引
一、对象范围索引
• 在记录每个空间实体的坐标时,记录包围每 个空间实体的外接矩形的最大最小坐标。 • 在检索空间实体时,根据空间实体的最大最 小范围,预先排除那些没有落入检索窗口内 的空间实体,仅对那些外接矩形落在检索窗 口的空间实体作进一步的判断,真正落入窗 口内的空间实体。
B
C C
7-7
54-55 60-60
D
D D
32-33
35-35 38-38
E
E E
12-15
24-27 37-37
E
E E
39-39
48-51 45-45
检索原理:
• 第一阶段(RDBMS完成):
– 接收SQL语句,获取空间过滤器的封装边界 – 检测空间过滤器的封装边界跨越的网格 – 到空间索引表中检索出封装边界所在网格内的要素
相关文档
最新文档