공간 인덱스 만들기, 수정 및 삭제
적용 대상: SQL Server Azure SQL 데이터베이스 SQL Managed Instance
공간 인덱스는 geometry 또는 geography 데이터 형식의 열( 공간 열)에서 특정 작업을 좀 더 효율적으로 수행할 수 있습니다. 공간 열에 둘 이상의 공간 인덱스를 지정할 수 있습니다. 예를 들어 단일 열에서 서로 다른 분할기 매개 변수를 인덱싱하는 데 유용합니다.
공간 인덱스를 만드는 작업에 대한 제한 사항이 많이 있습니다. 자세한 내용은 이 항목의 공간 인덱스 제한 사항을 참조하세요.
참고 항목
공간 인덱스와 파티션 및 파일 그룹과의 관계에 대한 자세한 내용은 CREATE SPATIAL INDEX(Transact-SQL)의 "설명" 섹션을 참조하세요.
공간 인덱스 생성, 수정 및 삭제
공간 인덱스를 만들려면
Transact-SQL을 사용하여 공간 인덱스를 만들려면
CREATE SPATIAL INDEX(Transact-SQL)
Management Studio에서 새 인덱스 대화 상자를 사용하여 공간 인덱스를 만들려면
Management Studio의 공간 인덱스를 만들려면
개체 탐색기에서 SQL Server 데이터베이스 엔진의 인스턴스에 연결하고 해당 인스턴스를 확장합니다.
데이터베이스를 확장하고 지정한 인덱스가 있는 테이블이 포함된 데이터베이스를 확장한 다음 테이블을 확장합니다.
인덱스를 만들려는 테이블을 확장합니다.
Indexes를 마우스 오른쪽 단추로 클릭하고 New Index를 선택합니다.
Index name 필드에 인덱스의 이름을 입력합니다.
Index type 드롭다운 목록에서 Spatial을 선택합니다.
인덱싱할 공간 열을 지정하려면 Add를 클릭합니다.
<table name> 대화 상자에서 열을 선택하여 geometry 또는 geography 형식의 열을 선택합니다. 그러면 다른 공간 열은 처리할 수 없게 됩니다. 다른 공간 열을 선택하려면 먼저 현재 선택한 열을 선택 취소해야 합니다. 완료되었으면 확인을 클릭합니다.
Index key columns 그리드에서 열 선택을 확인합니다.
Index Properties 대화 상자의 Select a page 창에서 Spatial을 클릭합니다.
공간 페이지에서 인덱스의 공간 속성에 사용할 값을 지정합니다.
geometry 형식 열에서 인덱스를 만들 경우 경계 상자의 (X-min,Y-min) 및 (X-max,Y-max) 좌표를 지정해야 합니다. geography 그리드 테셀레이션은 경계 상자를 사용하지 않으므로 geography 형식 열의 인덱스의 경우 geography 그리드 테셀레이션 구성표를 지정하면 경계 상자 필드가 읽기 전용이 됩니다.
필요에 따라 공간 분할(tessellation) 구성표의 모든 수준에서 표 밀도 및 개체당 셀 수 필드에 대해 기본값이 아닌 값을 지정할 수 있습니다. 개체당 셀 수의 기본값은 SQL Server 2008(10.0.x)은 16, SQL Server 2012(11.x) 이상에서는 8이고 기본 약식 표 밀도는 SQL Server 2008의 경우 Medium(10.0.x)입니다.
SQL Server에서 테셀레이션 구성표에 대한 GEOMETRY_AUTO_GRID 또는 GEOGRAPHY_AUTO_GRID를 선택할 수 있습니다. GEOMETRY_AUTO_GRID 또는 GEOGRAPHY_AUTO_GRID를 선택하면 레벨 1, 레벨 2, 레벨 3 및 레벨 4 그리드 밀도 옵션이 비활성화됩니다.
속성에 대한 자세한 내용은 Index Properties F1 Help을 참조하세요.
확인을 클릭합니다.
참고 항목
동일하거나 다른 공간 열에 다른 공간 인덱스를 만들려면 이전 단계를 반복합니다.
Management Studio의 테이블 디자이너를 사용하여 공간 인덱스를 만들려면
Table Designer를 사용하여 공간 인덱스를 만들려면
개체 탐색기에서 공간 인덱스를 만들 테이블을 마우스 오른쪽 단추로 클릭한 다음 디자인을 클릭합니다.
테이블 디자이너에서 테이블이 열립니다.
인덱스용 geometry 또는 geography 열을 선택합니다.
Table Designer 메뉴에서 Spatial Index를 클릭합니다.
공간 인덱스 대화 상자에서 추가를 클릭합니다.
선택한 공간 인덱스 목록에서 새 인덱스를 선택하고 오른쪽에 있는 표에서 공간 인덱스의 속성을 설정합니다. 속성에 대한 자세한 내용은 Spatial Indexes Dialog Box(Visual Database Tools)를 참조하세요.
공간 인덱스를 변경하려면
-
Important
공간 인덱스에 지정된 옵션(예: BOUNDING_BOX 또는 GRID)을 변경하려면 DROP_EXISTING = ON을 지정하는 CREATE SPATIAL INDEX 문을 사용하거나 해당 공간 인덱스를 삭제하고 새로 만들 수 있습니다. 예제는 CREATE SPATIAL INDEX(Transact-SQL)를 참조하세요.
공간 인덱스를 삭제하려면
Transact-SQL을 사용하여 공간 인덱스를 삭제하려면
DROP INDEX(Transact-SQL)
Management Studio를 사용하여 인덱스를 삭제하려면
인덱스 삭제
Management Studio의 테이블 디자이너를 사용하여 공간 인덱스를 삭제하려면
테이블 디자이너에서 공간 인덱스를 삭제하려면
개체 탐색기에서 삭제하려는 열이 있는 테이블을 마우스 오른쪽 단추로 클릭하고 Design을 선택합니다.
테이블 디자이너에서 테이블이 열립니다.
Table Designer 메뉴에서 Spatial Index를 클릭합니다.
Spatial Index 대화 상자가 열립니다.
선택한 공간 인덱스 열에서 삭제할 인덱스를 클릭합니다.
삭제를 클릭합니다.
공간 인덱스 제한 사항
공간 인덱스는 기하학 또는 지리유형의 열에서만 만들 수 있습니다.
테이블 및 뷰 제한 사항
공간 인덱스는 기본 키가 있는 테이블에 대해서만 정의할 수 있습니다. 기본 키 열의 최대 개수는 15개여야 합니다.
인덱스 키 레코드의 최대 크기는 895바이트입니다. 크기가 클수록 오류가 발생합니다.
참고 항목
테이블에 공간 인덱스가 정의되어 있는 동안에는 기본 키 메타데이터를 변경할 수 없습니다.
공간 인덱스는 인덱싱된 뷰에 지정할 수 없습니다.
다중 공간 인덱스 제한 사항
지원되는 테이블의 각 공간 열에는 최대 249개의 공간 인덱스를 만들 수 있습니다. 예를 들면 동일한 공간 열에 공간 인덱스를 한 개 이상 만드는 것이 하나의 열에 있는 서로 다른 공간 분할 매개 변수를 인덱싱하는 데 유용할 수 있습니다.
한 번에 하나의 공간 인덱스만 만들 수 있습니다.
공간 인덱스 및 프로세스 병렬 처리
인덱스 작성 작업은 사용 가능한 프로세스 병렬 처리를 사용할 수 있습니다.
버전 제한
SQL Server 2012(11.x)에서 도입된 공간 분할기는 SQL Server 2008 R2(10.50.x) 또는 SQL Server 2008(10.0.x)에 복제할 수 없습니다. SQL Server 2008 R2(10.50.x) 또는 SQL Server 2008(10.0.x) 데이터베이스와의 이전 버전과의 호환성이 요구 사항인 경우 공간 인덱스에 SQL Server 2008 R2(10.50.x) 또는 SQL Server 2008(10.0.x) 공간 분할기를 사용해야 합니다.