4
เมื่อใดที่คุณไม่ควรใช้ดัชนีอวกาศ
ฉันถามสิ่งนี้เพราะฉันทำงานกับ Oracle เป็นหลัก แต่ในปีที่ผ่านมาฉันเพิ่ม PostGIS และ SQLServer 2008 เป็นสองเท่าหน้าที่การใช้งานเชิงพื้นที่ส่วนใหญ่ใน Oracle จะไม่ทำงานหากไม่มีดัชนีเชิงพื้นที่ส่งคืนข้อผิดพลาด ORA-13226: 13226, 00000, "อินเทอร์เฟซไม่รองรับหากไม่มีดัชนีเชิงพื้นที่" // * สาเหตุ: ตารางเรขาคณิตไม่มีดัชนีเชิงพื้นที่ // * การกระทำ: ตรวจสอบว่าตารางเรขาคณิตที่อ้างอิงในตัวดำเนินการเชิงพื้นที่มีดัชนีเชิงพื้นที่อยู่ สำหรับฉันแล้วนี่สมเหตุสมผล คุณเรียกใช้แบบสอบถามแบบปริภูมิ = คุณต้องมีดัชนีเชิงพื้นที่ แต่เท่าที่ฉันเข้าใจ PostGIS ไม่ใช่ SQL Serve ไม่ต้องการสิ่งนี้ PostGIS ดูเหมือนว่าจะมีฟังก์ชั่น (_ * เช่น _STContains) ที่ชัดเจนจะไม่ใช้ดัชนีเชิงพื้นที่ ดังนั้นคำถามคือ - มีกรณีใดบ้างที่คุณไม่ควรใช้ดัชนีเชิงพื้นที่? ไม่จำเป็นว่าจะเป็น 'ใช้หรือปล่อยให้เป็นแนวทาง' นั่นคือจะไม่สร้างความแตกต่างใด ๆ แต่หากไม่ใช้ดัชนีเชิงพื้นที่จะทำให้ประสิทธิภาพดีขึ้น สำหรับฉันประโยคสุดท้ายคือความขัดแย้งในแง่ แต่ทำไมมิฉะนั้น …