Lo sto chiedendo perché stavo lavorando principalmente con Oracle, ma per l'anno passato ho raddoppiato con PostGIS e SQLServer 2008. La maggior parte delle funzioni spaziali in Oracle non funzionerà senza un indice spaziale che restituisce l'errore ORA-13226:
13226, 00000, "interfaccia non supportata senza un indice spaziale" // * Causa: la tabella della geometria non ha un indice spaziale. // * Azione: verificare che la tabella della geometria a cui fa riferimento l'operatore spaziale abbia un indice spaziale su di essa.
Per me questo ha senso. Esegui una query spaziale = devi avere un indice spaziale. Ma per quanto ho capito, né PostGIS né SQL Serve lo richiedono. PostGIS sembra anche avere funzioni (_ * ad esempio _STContains) che ESPLICITAMENTE non useranno l'indice spaziale.
Quindi la domanda è: ci sono casi in cui NON dovresti usare un indice spaziale? Non necessariamente se si tratta di un approccio "prendilo o lascialo", cioè non farà alcuna differenza, ma dove NON usare l'indice spaziale può compromettere le prestazioni? Per me, l'ultima frase è una contraddizione in termini, ma altrimenti perché PostGIS dovrebbe fornire queste funzioni?