Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Usando STCrosses() com um índice espacial no SQL Server


Não.

A indexação de dados espaciais não é trivial, e a aula que você está discutindo pode conter figuras arbitrariamente complexas, não apenas formas geométricas simples. A maneira específica como as formas e a indexação são implementadas pode dificultar ou impossibilitar a localização de sobreposições no caso geral. Também não é baseado no que está indexado dos dados espaciais para geometrias complexas. Pode ser por isso que você não pode exigir que o SQL use apenas o índice - não há dados suficientes lá. No caso degenerado pode haver, mas ele não saberia disso, então está desligado.

Imagine ter uma forma de estrela, com coisas complexas embutidas nela. O índice pode armazenar apenas o limite da forma externa, ou o centro da forma, ou o retângulo delimitador. Nada disso seria suficiente para calcular a interseção de 2 formas, ou se as formas realmente se sobrepõem.

Consulte http://msdn.microsoft.com/en-us/ library/bb895265.aspx#geometry para confirmar que não é suportado.