मेरे पास PostgreSQL / PostGIS डेटाबेस में एक स्थानिक तालिका है। इसमें प्रत्येक पंक्ति एक बहुभुज का प्रतिनिधित्व करती है। यह निम्नलिखित रूप में है:
+----+--------+
|gid | way |
+----+--------+
|241 | 01030..|
ज्यामितीय स्तंभ "रास्ता" है जिसमें एक बहुभुज के लिए ज्यामिति होती है। WKT में यह है: POLYGON (('....'))। मैं इस तालिका पर बहुत सारे ST_Contains प्रश्न कर रहा हूं, यह जांचने के लिए कि क्या दो बहुभुज एक दूसरे में समाहित हैं:
Select ST_Contains(a.way, b.way) From table AS a, table AS b Where a.gid = 15 And b.gid = 16
मैं सोच रहा था कि इस क्वेरी को कैसे तेज किया जाए और टेबल पर एक स्थानिक सूचकांक जोड़ा जाए:
CREATE INDEX table_way_gist ON table USING gist(way);
लेकिन वास्तव में मुझे कोई गति दिखाई नहीं देती। मैं सूचकांक बनाता हूं मैं सभी पॉलीगोन के साथ तालिका भरता हूं इससे पहले कि मैं ST_Contains क्वेरी करता हूं। क्या तालिका भरने से पहले सूचकांक को जोड़ा जाना चाहिए? क्या सूचकांक के साथ काम करने के लिए मेज पर विशेष आवश्यकताएं हैं? ज्यामितीय स्तंभ मार्ग का प्रक्षेपण (श्रीड) 900913 पर सेट है।
मैं उपयोग कर रहा हूं: psql (PostgreSQL) 9.1.4 / POSTGIS = "1.5.3"