sql >> Base de Datos >  >> RDS >> Sqlserver

¿Qué tan bueno es el tipo de datos de geografía en el servidor sql 2008?

Si solo maneja un par estándar Lat/Lng como usted describe, y todo lo que hace es una simple búsqueda, entonces podría decirse que no obtendrá mucho en cuanto a un aumento de velocidad usando el Tipo de geometría.

Sin embargo, si quieres ser más aventurero como dices, cambiar al uso de los tipos de Geometría te abrirá todo un mundo de nuevas posibilidades, y no solo para las búsquedas.

Por ejemplo (basado en un proyecto en el que estoy trabajando) podría (si se trata de datos del Reino Unido) descargar las definiciones de polígonos para todos los pueblos/pueblos/ciudades para un área determinada, luego hacer referencias cruzadas para buscar en un pueblo en particular, o si tuviera un mapa de carreteras, podría encontrar qué clientes vivían junto a las principales rutas de entrega, autopistas, carreteras principales, todo tipo de cosas.

También podría hacer algunos informes muy elaborados, imagine un mapa de ciudades, donde cada contorno se trazó en un mapa, luego se sombreó con un color para mostrar la densidad de clientes en un área, algún SQL de geometría simple le devolverá fácilmente un conteo directo de la base de datos, para graficar este tipo de información.

Luego está el seguimiento, no sé qué datos manejas o por qué tienes clientes, pero si estás entregando algo, ingresando las coordenadas de una camioneta de reparto, te dice qué tan cerca está de un cliente determinado.

En cuanto a la pregunta, ¿STDistance es rápido? bueno, eso es realmente difícil de decir, creo que una mejor pregunta es "¿Es rápido en comparación con..."? Es difícil decir sí o no, a menos que tengas algo con lo que compararlo.

Los índices espaciales son una de las principales razones para mover sus datos a una base de datos geográficamente consciente. Están optimizados para producir los mejores resultados para una tarea determinada, pero como cualquier base de datos, si crea índices incorrectos, obtendrá un rendimiento deficiente.

En general, definitivamente debería ver un aumento de velocidad de algún tipo, porque las matemáticas en la clasificación e indexación son más conscientes del propósito de los datos en lugar de ser simplemente lineales en operación como lo es un índice normal.

Tenga en cuenta también que cuanto más robusta sea la máquina del servidor SQL, mejores resultados obtendrá.

Un último punto a mencionar es la gestión de los datos, si está utilizando una base de datos compatible con GIS, eso le abre la posibilidad de utilizar un paquete GIS como ArcMap o MapInfo para gestionar, corregir y visualizar sus datos, lo que significa que las correcciones son muy fáciles. para hacer señalando, haciendo clic y arrastrando.

Mi consejo sería crear una tabla paralela a la existente, que esté formateada para operaciones espaciales, luego escribir algunos procesos almacenados y hacer algunas pruebas de tiempo, ver cuál sale mejor. Si tiene un aumento significativo solo en las operaciones básicas que está haciendo, entonces eso es solo una justificación, si es casi igual, entonces su decisión realmente depende de la nueva funcionalidad que realmente desea lograr.