2012-06-26 3 views
0

방금 ​​SQL Server 2008 데이터베이스에서 위도/경도 쌍을 사용하지 않고 새로운 지형 유형을 사용하도록 변환했습니다. 그래서처럼 STDistance 기능을 사용하여, 지리 :: 포인트 30 마일 이내에있는 기업에 쿼리를 실행 :지형 공간 인덱스 미세 조정

CREATE SPATIAL INDEX IDX_Business_GeoLocation 
    ON Business (GeoLocation) 
    USING GEOGRAPHY_GRID 
    WITH (
    GRIDS = (
     LEVEL_1 = LOW, 
     LEVEL_2 = LOW, 
     LEVEL_3 = LOW, 
     LEVEL_4 = LOW), 
    CELLS_PER_OBJECT = 64 
) 
: 여기
WHERE this_.GeoLocation.STDistance(geography::Point(42.738963, -84.5522, 4326)) <= 48280.32 

내가 지리 열이있는 인덱스

그리드 레벨이나 오브젝트 별 셀이 의미하는 바를 실제로 이해하지 못한다. 그러나 내가 찾고있는 것은 나의 시나리오를위한 최상의 설정이다. 나는 그 지점에서 30 마일 이내에있는 사업체를 찾고있다. /긴).

팁이 있습니까?

답변

2

이 작은 알려진 비밀 명백한 비트 (내가 그것을 발견하기 전에 또는 적어도 그것은 내게했다!)

EXEC sp_help_spatial_geography_index 
@tabname = '[TABLE_NAME]', 
@indexname = '[SPATIAL_INDEX_NAME]', 
@verboseoutput = 1, 
@query_sample = 'POLYGON((xy,xy,xy,xy))' 

채우기, 그리고 1@verboseoutput을 유지한다. 기본 및 내부 필터의 효율성에 대한 아이디어를 제공합니다 (당연히 더 높을수록 좋습니다). here과 같은 격자 및 셀을 포함하여 공간 인덱싱에 대한 간략한 개요를 확인하십시오.

또한, 내가 찾은 this 비디오 꽤 흥미 롭습니다.