¿Las funciones de datos espaciales de SQL Server 2008 son útiles para mapear consultas?

Tengo una aplicación donde básicamente tengo una gran tabla (100 millones de registros) de información, con cada fila que contiene un valor de lat / long.

Constantemente estoy consultando esta tabla para obtener todos los registros que se ajustan dentro de un radio alrededor de cierto punto. Por ejemplo, "todos los registros dentro de 5 millas de 39.89288, -104.919434"

Para esto, tengo un índice sobre las columnas Lat / Long, y obtengo el "cuadrado delimitador" de los puntos, y luego descarto todos los puntos que caen fuera del círculo en mi aplicación ASP.Net, ya que fue más rápido que hacer el cálculo del círculo en SQL Server.
NOTA: Todos estos son datos sobre los EE. UU., Por lo que estoy considerando que la Tierra sea plana para mis cálculos, lo cual es lo suficientemente preciso para mis necesidades.

Ahora, el principal problema con el índice Lat / Long es que es "un cuadrado" de puntos, y como estoy tratando de encontrar "Lat entre x y y" y "Long entre x y y", realmente no puedo use el índice de manera súper eficiente, como podría hacerlo si estuviera buscando "una línea" de puntos.

He estado leyendo sobre las características espaciales de SQL 2008, pero no he encontrado suficiente información concreta para saber si esto es útil para mí.

Entonces, la pregunta es: ¿SQL 2008 tiene algún tipo de índice diferente que hará que este tipo específico de consulta sea mucho más rápido que yo con SQL 2005?

Respuestas a la pregunta(4)

Su respuesta a la pregunta