4
การสอบถาม ST_Intersection ช้า
ฉันพยายามแยกระหว่างสองชั้น: Polyline layer แสดงถนนบางเส้น (ประมาณ 5500 แถว) ชั้นรูปหลายเหลี่ยมที่แสดงบัฟเฟอร์รูปร่างผิดปกติรอบ ๆ จุดที่น่าสนใจต่างๆ (ประมาณ 47,000 แถว) ท้ายที่สุดสิ่งที่ฉันพยายามทำคือตัดคลิป polylines ไปยังบัฟเฟอร์ (บางครั้งซ้อนทับกัน) เหล่านี้แล้วสรุปความยาวรวมของถนนที่อยู่ในบัฟเฟอร์แต่ละอัน ปัญหาคือสิ่งที่กำลังทำงานช้า ฉันไม่แน่ใจว่าจะใช้เวลานานเท่าใด แต่ฉันเพิ่งยกเลิกการสืบค้นหลังจาก> 34 ชั่วโมง ฉันหวังว่าบางคนสามารถชี้ให้เห็นว่าฉันทำผิดพลาดกับแบบสอบถาม SQL ของฉันหรือสามารถชี้ให้ฉันเป็นวิธีที่ดีกว่าในการทำเช่นนี้ CREATE TABLE clip_roads AS SELECT ST_Intersection(b.the_geom, z.the_geom) AS clip_geom, b.* FROM public."roads" b, public."buffer1KM" z WHERE ST_Intersects(b.the_geom, z.the_geom); CREATE INDEX "clip_roads_clip_geom_gist" ON "clip_roads" USING …