1
와 쿼리 속도가 느려, 나는 테이블공간 인덱스 내가 SQL 서버 2012</p> <p>등 공간 인덱스를 사용할 수 있는지 테스트하고있어 STContains
CREATE TABLE [dbo].[Records]
(
[ID] [uniqueidentifier] PRIMARY KEY NOT NULL,
[Value] [nvarchar](256) NOT NULL,
[Padding] [nvarchar](max) NOT NULL,
[Bounds] [geometry] NOT NULL
)
및 인덱스
에게있어CREATE SPATIAL INDEX [RecordsSpatialIndex]
ON [Records]([Bounds])
USING GEOMETRY_GRID
WITH
(
BOUNDING_BOX = (0, 0, 2000, 2000) -- all coordinates are within this range
);
[경계] 열에는 5 포인트 다각형, 실제로는 직사각형 (x1 y1, x1 y2, x2 y2, x2 y1, x1 y1)이 포함됩니다.
@bounds 변수에는 동일한 유형의 사각형이 포함됩니다. 이상한 점은 다음 쿼리가 공간 인덱스없이 3 배 이상 빠르게 실행된다는 것입니다.
인덱스의 65 % 시간은 클러스터 된 인덱스 Seek over Records 테이블이며 29 %는 필터입니다. 총 65 초.
인덱스가없는 경우에는 92 %의 시간이 필터이고 8 %는 레코드가있는 클러스터 된 인덱스 스캔 테이블입니다. 완전히 19 초.
여기 내가 뭘 잘못하고 있니? 특정 쿼리 쿼리 계획
체크 아웃 유용한 인덱스를 생성하는 방법을 이해에 – Paparazzi