以下に、ST_Geometry 列が格納されたテーブルで、Oracle と DB2 で使用される空間インデックス グリッドを使用する場合のヒントをご紹介します。
- グリッド サイズが間違っている場合の症状
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 または Informix のよくある問題については、IBM Knowledge Center のドキュメントをご参照ください。
- データ ロード後の空間インデックス作成の先送り
空間インデックスを作成せずにデータを空間テーブルにロードまたは追加すると、ロード完了までの合計所要時間を短縮できます。また、列インデックスの断片化も低減されるため、クエリのパフォーマンスが向上します。このため、空間テーブルへのデータのロードが完了するまで、空間インデックスの作成を遅らせることによってスループットの向上に役立つ場合があります。
- ST_AsText を使用した ST_Geometry コンテンツの表示
各ジオメトリのコンテンツを確認するにあたっては、判読可能な WKT (Well-Known Binary) 表現が有用です。SELECT ステートメントで ST_AsText 関数を使用して、ST_Geometry のコンテンツを表示用に WKT に変換することができます。