NULL 또는 NULL이 아닌 지리적 좌표 열이있는 SQL Server 데이터베이스에 많은 수의 사진 (~ 10 백만)이 있습니다 (배치 또는 배치되지 않음).공간 인덱스에 NULL 사용
또한이 지리 정보에 공간 인덱스를 만들었습니다.
이제 특정 다각형 안에있는 모든 사진을 선택하려고합니다.
지도에없는 사진을 저장하는 두 가지 방법이 있습니다 :
내가지도에없는 모든 사진의 위치를 지리적 할 NULL 지정하면, 너무 느린 같은 쿼리의 성능 (AS 공간 인덱스가 NULL 열과 함께 작동하지 않습니다.)
지도에없는 모든 사진의 위치 정보에
POINT(0 0)
을 할당하면이 영점이인 경우를 제외하고는 성능이 좋습니다. 또한 이러한 요청은 잘못된 사진을 반환합니다 (지도에 존재하지 않음).
어떻게 이러한 문제를 극복 할 수 있습니까?
NULL 또는 NOT NULL 비트가 포함 된 열을 추가하고 두 열 (이 열 및 지리 정보)에서 색인을 만들어야합니까?
UPDATE 나는 두 개의 열에서 인덱스를 만들려고하지만, 공간 인덱스는 지리적 정보 (MSDN)와 하나의 컬럼 만 포함되어 있기 때문에 그것은 불가능하다.
별표 이유로 인해 중복의 좋은 해결책이 아니다. –
이상적인 솔루션이 아니라는 점에 동의합니다. 위로 : 1 : 나중에 필터링해야하는 더미 데이터가 삽입되지 않았습니다. 2 : 크기 및 성능 : 더미 데이터는 인덱스 크기를 크게 늘리므로 실행 시간에 영향을 줄 수 있습니다. 3 : 공간 데이터 형식 만 해당 테이블에 저장되어 있으므로 PK의 유일한 복제본이었습니다. 이 트레이드 오프로 인해 내 가치가 있었지만, 귀하의 사례에 대한 다른 결론에 도달했음을 이해합니다. – Tomas