WEB开发网
开发学院数据库DB2 DB2 Spatial Extender 性能调优(1) 阅读

DB2 Spatial Extender 性能调优(1)

 2007-06-01 16:21:39 来源:WEB开发网   
核心提示: 从结果中可以看出,对于重要操作,DB2 Spatial Extender 性能调优(1)(10),较大的 inline length 可以增加 40% 的速度,对样本数据的查询也快了 7%,最后,在附加列上创建一个索引,这两种差异的底层原因是,当使用较小的 inline length 时

从结果中可以看出,对于重要操作,较大的 inline length 可以增加 40% 的速度,对样本数据的查询也快了 7%。这两种差异的底层原因是,当使用较小的 inline length 时,有超过 20000 个几何图形(大约 20% 的数据)以大对象化的方式存储。DB2 直接从磁盘读(写) LOB 数据。而在第二种场景中,大部分的直接读是不需要的,因为可以用存储在缓冲池中的内联数据来满足查询。注意,大对象化的数据所占的 20% 的比例实际上不算很坏。如果由于稍微复杂一点儿的几何图形导致更多的数据不能以内联方式存储,那么这里演示的差异还要大大增加。

聚集空间数据

根据某个属性聚集数据是一种常见的、也是非常有用的技术,这种技术可以物理地组织一个表的数据。通过对底层的观察可以发现,具有相似值的数据常常一起被访问。所以,可以将类似的数据存储在接近的位置,使得对那些数据的访问不必分散到表空间中很多不同的页上,而是分布在临近的几个页上。根据空间数据的空间属性或几何图形间的距离聚集空间数据是很自然的。空间查询是展示局部数据访问(换句话说,现实中临近的几何图形常常被一起访问)的最好例子之一。例如,如果您看一个城市的街道地图,那么很可能对那个城市的所有街道感兴趣,而对地区另一边某个其他城市的街道不感兴趣。所以在物理上将那个城市的一些行存储在相邻的位置的确很有意义。

在 DB2 中建立数据聚集属性的方法是根据一个索引对表进行重组。然而,如果由于空间索引的复杂性质导致 DB2 REORG TABLE 命令不理解空间索引,事情就不会那么容易了。关于这个问题有一个容易的方法,即使用一个列,这个列的值是根据涉及的图形计算的。这个列上声明的数据类型必须保证 DB2 能在这个列上创建一个本地 B- 树索引。这里使用空间填充曲线来保存空间和拓扑属性(请参阅 参考资料 一节,找到 H. Sagan 撰写的书籍)。我们在几何图形上取一个点,即形心点, 计算那个点在空间填充曲线上的值,并将结果存储在一个附加的列中。最后,在附加列上创建一个索引,并根据那个索引对表进行重组。

上一页  5 6 7 8 9 10 

Tags:DB Spatial Extender

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接