Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Колко добър е географският тип данни в sql сървър 2008?

Ако работите само със стандартна двойка Lat/Lng, както описвате, и всичко, което правите, е просто търсене, тогава вероятно няма да спечелите много от увеличаването на скоростта, като използвате Geometry Type.

Въпреки това, ако искате да станете по-авантюристични, както заявявате, тогава преминаването към използване на типовете геометрия ще отвори цял свят от нови възможности за вас, и то не само за търсения.

Например (Въз основа на проект, върху който работя) бихте могли (ако са данни от Обединеното кралство) да изтеглите дефинициите на полигоните за всички градове/села/градове за дадена област, след което да направите кръстосани препратки, за да търсите в определен град, или ако имахте пътна карта, бихте могли да намерите кои клиенти живеят до главни маршрути за доставка, магистрали, главни пътища и всякакви неща.

Можете също така да направите някои много изискани отчети, представете си карта на градове, където всяко очертание е нанесено върху карта, след което е засенчено с цвят, за да покаже гъстотата на клиентите в даден район, някои прости геометрични SQL лесно ще ви върнат преброяване от базата данни, за да начертаете този вид информация.

След това има проследяване, не знам с какви данни работите или защо имате клиенти, но ако доставяте нещо, подаването на координатите на микробус за доставка ви казва колко близо е той до даден клиент.

Що се отнася до въпроса STDistance бързо ли е? добре, това е трудно да се каже наистина, мисля, че по-добрият въпрос е „Бърз ли е в сравнение с.....“, трудно е да се каже да или не, освен ако нямате с какво да го сравните.

Пространствените индекси са една от основните причини за преместване на вашите данни в географски ориентирана база данни, те са оптимизирани да произвеждат най-добри резултати за дадена задача, но като всяка база данни, ако създадете лоши индекси, тогава ще получите лоша производителност.

Като цяло определено трябва да видите някакво увеличение на скоростта, тъй като математиката при сортирането и индексирането е по-наясно с целта на данните, вместо просто да бъде сравнително линейна в действие, както е нормалният индекс.

Имайте предвид също, че колкото по-мощна е SQL сървърната машина, толкова по-добри резултати ще получите.

Една последна точка, която трябва да споменем, е управлението на данните, ако използвате база данни, запозната с ГИС, тогава това отваря пътя за използване на ГИС пакет като ArcMap или MapInfo, за да управлявате, коригирате и визуализирате вашите данни, което означава, че корекциите са много лесни да направите чрез посочване, щракване и плъзгане.

Моят съвет би бил да създадете една до друга таблица към вашата съществуваща, която е форматирана за пространствени операции, след това да напишете няколко съхранени процедури и да направите някои тестове за време, за да видите кое излиза най-добре. Ако имате значително увеличение само върху основните операции, които правите, тогава това е само оправдание, ако е почти равно, тогава вашето решение наистина зависи от това каква нова функционалност всъщност искате да постигнете.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как мога да разбера какво ограничение на FOREIGN KEY препраща към таблица в SQL Server?

  2. Разбиране на група по клауза в SQL Server - SQL Server / TSQL урок, част 130

  3. Мога ли да предам променлива за избор на израз като име на колона в SQL Server

  4. 2 начина да видите дали остарелите функции все още се използват в екземпляр на SQL сървър

  5. SQL Server FOR XML Path прави повтарящи се възли