Je pose cette question parce que je travaillais principalement avec Oracle mais depuis un an j'ai doublé avec PostGIS et SQLServer 2008. La plupart des fonctions spatiales d'Oracle ne fonctionneront pas sans un index spatial renvoyant l'erreur ORA-13226:
13226, 00000, "interface non prise en charge sans index spatial" // * Cause: la table de géométrie n'a pas d'index spatial. // * Action: Vérifiez que la table de géométrie référencée dans l'opérateur spatial possède un index spatial.
Pour moi, cela a du sens. Vous exécutez une requête spatiale = vous devez avoir un index spatial. Mais d'après ce que je comprends, ni PostGIS ni SQL Serve ne l'exigent. PostGIS semble même avoir des fonctions (_ * par exemple _STContains) qui EXPLICITEMENT n'utiliseront pas l'index spatial.
La question est donc: y a-t-il des cas où vous ne devriez PAS utiliser d'index spatial?. Pas nécessairement s'il s'agit d'une approche «à prendre ou à laisser», c'est-à-dire que cela ne fera aucune différence, mais où NE PAS utiliser l'indice spatial améliorera les performances? Pour moi, la dernière phrase est une contradiction en termes, mais sinon pourquoi PostGIS fournirait ces fonctions?