How To: Use RTREE spatial indexes in SDE for Informix



There is no separate spatial index table in SDE 3.x for Informix as there is in other implementations of SDE 3.x, such as SDE for Oracle. Instead, the spatial index is implemented as a special database index on the business table's spatial column. This index is called an RTREE index.


The RTREE index

The two-dimensional RTREE index differs from the traditional hierarchical BTREE index provided by the Informix Dynamic Server software. The BTREE index cannot be applied to a spatial column because the two-dimensional characteristic of the spatial column requires an RTREE index. For the same reason, an RTREE index cannot be applied to a non-spatial column or a composite column. The RTREE create index syntax includes the additional USING RTREE clause to create an RTREE index rather than a BTREE index. The full syntax is:

create index on ( SqlSde_Ops) using rtree;

The SqlSde_Ops is the Spatial DataBlade operator class. SqlSde_Ops manages the RTREE index.

Updating statistics

The Informix optimizer does not use the RTREE index unless the statistics on the table are up to date. If the RTREE index is created after the data has been loaded, and statistics are up to date, the optimizer uses the index. However, if the index is created, and data is loaded afterwards, the optimizer does not use the RTREE index, because the statistics are out of date. To update the statistics use the update statistics Informix SQL statement:

update statistics for table

SDE Grid Sizes and SDE 3.x for Informix

The client side of SDE 3.x software requires that a grid size be specified using the "-g" option. For SDE for Informix, a dummy grid size must be specified. Use "-g 256,0,0".