Pages Menu
TwitterRssFacebook
Categories Menu

Posted by on Ago 2, 2019

create index 예제

인덱스의 이름을 지정하는 방법에는 엄격한 규칙이 없습니다. 일반적으로 허용되는 방법은 다른 데이터베이스 개체와의 혼동을 피하기 위해 인덱스 이름 앞에 “IDX_”와 같은 접두사를 배치하는 것입니다. 인덱스가 사용되는 테이블과 열에 대한 정보를 제공하는 것도 좋습니다. >1 병렬 인덱스 작업에 사용되는 최대 프로세서 수를 현재 시스템 워크로드에 따라 지정된 수 이하로 제한합니다. tempdb는 인덱스를 만드는 데 필요한 공간 외에도 중간 정렬 결과를 보유하기 위해 거의 동일한 양의 추가 공간을 가져야 합니다. 자세한 내용은 인덱스에 대한 SORT_IN_TEMPDB 옵션을 참조하십시오. ON 인덱스를 빌드하는 데 사용되는 중간 정렬 결과는 tempdb에 저장됩니다. 이렇게 하면 tempdb가 사용자 데이터베이스와 다른 디스크 집합에 있는 경우 인덱스를 만드는 데 필요한 시간이 줄어들 수 있습니다. 그러나 이렇게 하면 인덱스 빌드 중에 사용되는 디스크 공간의 양이 증가합니다. 분할된 인덱스는 분할된 테이블과 유사한 방식으로 만들어지고 유지 관리되지만 일반 인덱스와 마찬가지로 별도의 데이터베이스 개체로 처리됩니다.

분할되지 않은 테이블에 분할된 인덱스를 가질 수 있으며 분할된 테이블에 분할되지 않은 인덱스를 가질 수 있습니다. 일반적으로 생성 시 테이블에 대한 인덱스를 만듭니다. 예를 들어 다음 문은 두 개의 열 c2 및 c3로 구성된 인덱스가 있는 새 테이블을 만듭니다. 인덱싱할 정규화된 개체 또는 비정규 화된 개체입니다. 테이블에 인덱스를 만듭니다. 중복 값 허용: 단순 인덱스는 단일 열의 인덱스이며 복합 인덱스는 두 개 이상의 열에 대한 인덱스입니다. 위의 예에서 IDX_CUSTOMER_LAST_NAME은 열이 하나뿐이므로 간단한 인덱스이며 IDX_CUSTOMER_LOCATION은 두 개의 열이 있기 때문에 복합 인덱스입니다. 삽입, 업데이트, DELETE 또는 병합 작업은 필터링된 인덱스의 데이터를 수정합니다. INDEX 테이블에는 두 개의 열만 있고 다른 하나는 rowid이고 다른 하나는 인덱싱된 열(정렬)입니다.

인덱스 키의 최대 크기는 클러스터된 인덱스의 경우 900바이트, 클러스터되지 않은 인덱스의 경우 1,700바이트입니다. (SQL 데이터베이스 및 SQL Server 2016(13.x) 이전에는 항상 900바이트 제한이 있었습니다. 바이트 제한을 초과하는 varchar 열에 대한 인덱스는 열의 기존 데이터가 인덱스를 만들 때 제한을 초과하지 않는 경우 만들 수 있습니다. 그러나 총 크기가 제한보다 커지는 열에 대한 후속 삽입 또는 업데이트 작업은 실패합니다. 클러스터된 인덱스의 인덱스 키는 ROW_OVERFLOW_DATA 할당 단위에 기존 데이터가 있는 varchar 열을 포함할 수 없습니다. varchar 열에 클러스터된 인덱스가 만들어지고 기존 데이터가 IN_ROW_DATA 할당 단위에 있는 경우 데이터를 오프 행으로 푸시하는 열에 대한 후속 삽입 또는 업데이트 작업이 실패합니다. 데이터베이스 복구 모델이 대량 로깅 또는 단순으로 설정된 경우 인덱스 만들기 작업을 최소한으로 기록할 수 있습니다. 다음 예제는 dbo에서 두 개의 열이 있는 인덱스 IX_FF를 만듭니다. 팩트파이낸스 테이블. 다음 문은 열을 하나 더 사용 하 여 인덱스를 다시 빌드 하 고 기존 이름을 유지 합니다. SQL Server 2016(13.x) 및 SQL Database를 시작으로 columnstore 인덱스에 클러스터되지 않은 인덱스를 사용하여 데이터 웨어하우징 쿼리 성능을 향상시킵니다.

자세한 내용은 Columnstore 인덱스 – 데이터 웨어하우스를 참조하십시오. 파티션이 1,000개 이상인 테이블에서 정렬되지 않은 인덱스를 만들고 다시 작성할 수 있지만 지원되지는 않습니다. 이렇게 하면 이러한 작업 중에 성능이 저하되거나 메모리 소비가 과도하게 발생할 수 있습니다. 파티션 수가 1,000개를 초과하는 경우에만 정렬된 인덱스를 사용하는 것이 좋습니다. ALLOW_ROW_LOCKS = 끄기 및 ALLOW_PAGE_LOCK = 끄면 인덱스에 액세스할 때 테이블 수준 잠금만 허용됩니다. 온라인 = { ON | OFF } 기본 테이블 및 관련 인덱스 인덱스 작업 중 쿼리 및 데이터 수정에 사용할 수 있는지 여부를 지정 합니다. 기본값은 꺼져 있습니다. 기본 키가 생성될 때 테이블 변수에 클러스터된 인덱스를 작성할 수 있습니다.

Centro per un Futuro Sostenibile via Tacito, 84 00193 Roma tel. +39 06 90288228