ポイントを含む1つの地理タイプフィールドを持つ2 000 000行以内のデータテーブルを持つデータベースがあります。別のデータテーブルには、ポリゴンを含む 1 つの地理タイプ フィールドを持つ 600 行があります。
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
このクエリをスピードアップするのを手伝ってくれませんか?
よろしく