sql >> Databáze >  >> RDS >> Sqlserver

Výběr dobrého prostorového indexu SQL Server 2008 s velkými polygony

Ve svém indexovém dotazu použijete:

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

BOUNDING_BOX se proto mapuje na:

xmin = -90
ymin = -180
xmax = 90
ymax = 180
  • Zeměpisná délka (-180 až 180 – označující východ/západ poledníku) by se měla mapovat na X
  • Zeměpisná šířka (-90 až 90 – určující, jak daleko na sever nebo na jih od rovníku) by se měla mapovat na Y

K vytvoření BOUNDING_BOX pro svět byste tedy měli použít:

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

To by mělo vytvořit index, který odpovídá vašim datům a znamená, že všechny vaše funkce jsou pokryty indexem.



  1. Název tabulky jako parametr pomocí připraveného příkazu PDO/MySQL

  2. MySQL:Sjednocení levého spojení s pravým spojením

  3. Autentizační plugin 'caching_sha2_password' není podporován

  4. nahrazení hranatých závorek řetězce funkcí Oracle REGEXP_REPLACE