У меня есть база данных с данными в пределах 2 000 000 строк с 1 полем типа географии, содержащим точку. В другом datatable у меня есть 600 строк с 1 полем типа географии, содержащим Polygon.Sql Server 2008 Пространственный запрос медленный
This query to retrieve all the POINT in a POLYGON is very slow
SELECT ID_POINT, ID_POLYGON FROM
(SELECT ID_POINT, COORD FROM POINT_TABLE) as POINT
(SELECT ID_POLYGON, COORD FROM POLYGON_TABLE WHERE ID_POLYGON = 276) as POLYGON
WHERE
(POINT.Coord.STIntersects(POLYGON.COORD) = 1)
У меня есть 1 пространственный индекс в каждой таблице, как это:
CREATE SPATIAL INDEX [IDX_POLYGON_COORD] ON [dbo].[POLYGON]
(
[COORD]
)USING GEOGRAPHY_GRID
WITH (
GRIDS =(LEVEL_1 = MEDIUM,LEVEL_2 = MEDIUM,LEVEL_3 = MEDIUM,LEVEL_4 = MEDIUM),
CELLS_PER_OBJECT = 16, PAD_INDEX = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
Не могли бы вы мне помочь ускорить этот запрос?
С уважением