有关如何使用由 Oracle 和 DB2 在包含 ST_Geometry 列的表上使用的空间索引格网,以下是一些提示:
- 格网大小错误时的故障症状
在 Oracle 中创建空间索引时,如果检测到格网大小过大或过小,则会出现以下错误:
CREATE INDEX farm_idx on farm(shape) INDEXTYPE is SDE.ST_SPATIAL_INDEX PARAMETERS ('st_grids=1000,3000,9000 st_srid=31'); \
CREATE INDEX farm_idx on farm(shape) * ERROR at line 1: ORA-20006: InValid Grid Size ORA-06512: at "SDE.ST_GEOMETRY_SHAPELIB_PKG", line 43 ORA-06512: at "SDE.ST_POLYGON", line 236
要识别 DB2 的常见问题,请参阅《DB2 Spatial Extender 和 Geodetic Extender 用户指南和参考》中的第 15 章“识别问题”。使用 Informix 时,请参阅《Informix Spatial DataBlade 模块用户指南》中的“错误消息”部分。
- 在加载数据后延迟创建空间索引
将数据加载或追加到空间表可以减少完成加载所需的总时间。这也会减少列索引中的碎片,从而改善查询的性能。因此,在您向空间表中加载完数据之前,延迟创建空间索引非常有用。
- 使用 ST_AsText 显示 ST_Geometry 的内容
当您想要检查各个几何的内容时,可以使用便于阅读的可识别文本表示方法。在 SELECT 语句中使用 ST_AsText 函数,可将 ST_Geometry 内容转换成可识别文本,以便显示。