PostgreSQL / PostGIS veritabanında uzamsal bir tablo var. İçindeki her satır bir Çokgeni temsil eder. Aşağıdaki biçimdedir:
+----+--------+
|gid | way |
+----+--------+
|241 | 01030..|
Geometrik sütun, bir çokgenin geometrisini içeren "yoldur". WKT'de: POLYGON (('....')). İki çokgen birbirine örneğin olup olmadığını test etmek için bu tablodaki ST_Contains sorguları bir sürü yapıyorum:
Select ST_Contains(a.way, b.way) From table AS a, table AS b Where a.gid = 15 And b.gid = 16
Nasıl bu sorguyu hızlandırmak ve masada uzamsal bir dizin ekledi merak ediyordum:
CREATE INDEX table_way_gist ON table USING gist(way);
Ama aslında hızlanma görmüyorum. ST_Contains sorguları yapmadan ÖNCE tabloyu tüm çokgenlerle doldurduktan SONRA indeksi oluşturuyorum. Bir tabloyu doldurmadan önce indeks eklenmeli mi? Tabloda dizinle çalışmak için özel gereksinimler var mı? Geometrik sütun yolunun izdüşümü (srid) 900913 olarak ayarlanmıştır.
Kullanıyorum: psql (PostgreSQL) 9.1.4 / POSTGIS = "1.5.3"