Bunu soruyorum çünkü çoğunlukla Oracle ile çalışıyordum ama geçen yıl PostGIS ve SQLServer 2008 ile iki katına çıktım. Oracle'daki en uzamsal işlevler ORA-13226 hatasını döndüren uzamsal bir dizin olmadan çalışmaz:
13226, 00000, "arabirim uzamsal bir dizin olmadan desteklenmiyor" // * Neden: Geometri tablosunun uzamsal bir dizini yok. // * Eylem: Uzamsal operatörde referans verilen geometri tablosunun üzerinde uzamsal bir dizin olduğunu doğrulayın.
Bana göre bu mantıklı. Uzamsal bir sorgu çalıştırıyorsanız = uzamsal bir dizine sahip olmalısınız. Ama anladığım kadarıyla, ne PostGIS ne de SQL Serve bunu gerektirmiyor. PostGIS, KESİNLİKLE, uzamsal dizini kullanmayacak işlevlere (_ * örneğin _STContains) sahip görünüyor.
Öyleyse soru, mekansal bir endeks kullanmamanız gereken durumlar var mı? Mutlaka bir 'al ya da bırak' yaklaşımı olsun olmasın, yani herhangi bir fark yaratmayacak, ama mekansal endeksini kullanmayan yerlerde performansı artıracak mı? Bana göre, son cümle terimlerdeki bir çelişkidir, ancak aksi halde PostGIS neden bu işlevleri sağlar?