Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Utilizzo di STCrosses() con un indice spaziale in SQL Server

No.

L'indicizzazione dei dati spaziali non è banale e la classe di cui si sta discutendo può contenere figure arbitrariamente complesse, non solo semplici forme geometriche. Il modo specifico in cui vengono implementate le forme e l'indicizzazione può rendere difficile o impossibile trovare le sovrapposizioni nel caso generale. Inoltre, non si basa su ciò che è indicizzato dei dati spaziali per geometrie complesse. Questo potrebbe essere il motivo per cui non puoi richiedere a SQL di utilizzare solo l'indice:non ci sono abbastanza dati lì. Nel caso degenerato potrebbe esserci, ma non lo saprebbe, quindi è spento.

Immagina di avere una forma a stella, con cose complesse incorporate in essa. L'indice può memorizzare solo il limite della forma esterna, il centro della forma o il rettangolo di delimitazione. Nessuno di questi sarebbe sufficiente per calcolare l'intersezione di 2 forme o se le forme si sovrappongono effettivamente.

Vedere http://msdn.microsoft.com/en-us/ library/bb895265.aspx#geometry per confermare che non è supportato.