Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak dobry jest typ danych geograficznych w sql server 2008?

Jeśli jak opisujesz, obsługujesz tylko standardową parę szerokości i długości, a wszystko, co robisz, polega na prostym wyszukiwaniu, to prawdopodobnie nie zyskasz zbyt wiele na drodze do zwiększenia prędkości, używając Typu geometrii.

Jeśli jednak chcesz być bardziej odważny, jak twierdzisz, przejście do korzystania z typów geometrii otworzy przed tobą cały świat nowych możliwości, nie tylko dla wyszukiwań.

Na przykład (w oparciu o projekt, nad którym pracuję) możesz (jeśli są to dane z Wielkiej Brytanii) pobrać definicje wielokątów dla wszystkich miast / wiosek / miast dla danego obszaru, a następnie wykonać odsyłacze, aby wyszukać w konkretnym mieście, lub jeśli masz mapę drogową, możesz znaleźć klientów mieszkających w pobliżu głównych tras dostawczych, autostrad, dróg głównych i wszelkiego rodzaju rzeczy.

Możesz także zrobić bardzo wymyślne raportowanie, wyobrazić sobie mapę miast, gdzie każdy kontur został naniesiony na mapę, a następnie zacieniowany kolorem, aby pokazać gęstość klientów na danym obszarze, prosta geometria SQL z łatwością zwróci ci liczbę prosto z bazy danych, aby wykreślić tego rodzaju informacje.

Potem jest śledzenie, nie wiem, jakie dane obsługujesz ani dlaczego masz klientów, ale jeśli coś dostarczasz, podając współrzędne furgonetki dostawczej, mówi ci, jak blisko jest danego klienta.

Co do pytania, czy STDistance jest szybki? cóż, naprawdę trudno powiedzieć, myślę, że lepszym pytaniem jest „Czy to jest szybkie w porównaniu do....”, trudno powiedzieć tak lub nie, chyba że masz coś, z czym można to porównać.

Indeksy przestrzenne są jednym z głównych powodów przenoszenia danych do bazy danych o orientacji geograficznej, która jest zoptymalizowana pod kątem uzyskania najlepszych wyników dla danego zadania, ale jak każda baza danych, jeśli utworzysz złe indeksy, uzyskasz złą wydajność.

Ogólnie rzecz biorąc, zdecydowanie powinieneś zauważyć pewnego rodzaju wzrost prędkości, ponieważ matematyka w sortowaniu i indeksowaniu jest bardziej świadoma celu danych, w przeciwieństwie do działania dość liniowego, jak w przypadku normalnego indeksu.

Pamiętaj również, że im bardziej rozbudowana jest maszyna z serwerem SQL, tym lepsze wyniki uzyskasz.

Ostatnią kwestią, o której należy wspomnieć, jest zarządzanie danymi, jeśli korzystasz z bazy danych obsługującej GIS, otwiera to drogę do korzystania z pakietu GIS, takiego jak ArcMap lub MapInfo, do zarządzania, poprawiania i wizualizacji danych, co oznacza, że ​​korekty są bardzo łatwe zrobić, wskazując, klikając i przeciągając.

Radzę utworzyć tabelę obok istniejącej, która jest sformatowana do operacji przestrzennych, a następnie napisać kilka przechowywanych procesów i wykonać kilka testów czasowych, aby zobaczyć, który wyjdzie najlepszy. Jeśli masz znaczny wzrost tylko w zakresie podstawowych operacji, które wykonujesz, to jest to samo uzasadnienie, jeśli jest prawie równy, Twoja decyzja naprawdę zależy od tego, jaką nową funkcjonalność chcesz osiągnąć.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Khmer Unicode, angielski i Microsoft SQL Server 2008 powodują znaki zapytania

  2. Usuń profil poczty bazy danych w programie SQL Server (T-SQL)

  3. Jak mogę uzyskać listę nazw elementów z wartości XML w SQL Server?

  4. Jak wybrać określone kolumny z tabeli, jeśli tabela ma więcej niż 100 kolumn?

  5. Budowanie dynamicznej klauzuli WHERE w procedurze składowanej