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

Wybór dobrego indeksu przestrzennego SQL Server 2008 z dużymi wielokątami

W zapytaniu indeksującym używasz:

CREATE SPATIAL INDEX [contasplit_sidx] ON [dbo].[ContASplit] 
(
    [geom]
)USING  GEOMETRY_GRID 
WITH (
BOUNDING_BOX =(-90, -180, 90, 180),
...

Dlatego BOUNDING_BOX mapuje do:

xmin = -90
ymin = -180
xmax = 90
ymax = 180
  • Długość geograficzna (-180 do 180 – oznaczająca wschód/zachód od południka) powinna być mapowana na X
  • Szerokość geograficzna (-90 do 90 – oznaczająca jak daleko na północ lub południe od równika) powinna być odwzorowana na Y

Aby stworzyć BOUNDING_BOX dla świata, powinieneś użyć:

CREATE SPATIAL INDEX [contasplit_sidx] ON [dbo].[ContASplit] 
(
    [geom]
)USING  GEOMETRY_GRID 
WITH (
BOUNDING_BOX =(-180, -90, 180, 90),
...

Powinno to utworzyć indeks, który pasuje do Twoich danych i oznacza, że ​​wszystkie funkcje są objęte indeksem.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zwrócić tylko wartości liczbowe w SQL Server

  2. MSSQL cast([varcharColumn] to int) w SELECT jest wykonywany przed klauzulą ​​WHERE odfiltrowującą złe wartości

  3. Wstaw zbiorczy z plikiem .fmt:kod błędu systemu operacyjnego (null)

  4. Czy powinienem używać !=lub <> dla not equal w T-SQL?

  5. Jak wykonać CONTAINS() na dwóch kolumnach pełnotekstowego wyszukiwania indeksowego SQL?