Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Utilisation de STcrosses() avec un index spatial dans SQL Server

Non.

L'indexation des données spatiales n'est pas triviale, et la classe dont vous parlez peut contenir des figures arbitrairement complexes, pas seulement des formes géométriques simples. La manière spécifique dont les formes et l'indexation sont mises en œuvre peut rendre la recherche de chevauchements difficile ou impossible dans le cas général. Il n'est pas non plus basé sur tout ce qui est indexé des données spatiales pour les géométries complexes. C'est peut-être la raison pour laquelle vous ne pouvez pas exiger que SQL utilise uniquement l'index - il n'y a pas assez de données là-bas. Dans le cas dégénéré, il peut y en avoir, mais il ne le saurait pas, il est donc désactivé.

Imaginez avoir une forme d'étoile, avec des choses complexes intégrées dedans. L'index ne peut stocker que la limite de la forme extérieure, ou le centre de la forme, ou le rectangle englobant. Aucun de ces éléments ne serait suffisant pour calculer l'intersection de 2 formes, ou si les formes se chevauchent réellement.

Voir http://msdn.microsoft.com/en-us/ bibliothèque/bb895265.aspx#géométrie pour confirmer qu'il n'est pas pris en charge.