사용량이 많은 테이블에서 인덱스 생성


11

우리는 insert\select매번 많은 테이블을 가지고 있습니다 (매초마다 100 대의 기계를 삽입 / 업데이트하는 것과 같은)

잠깐이라도 잠글 수없는 테이블에 인덱스를 작성하는 가장 좋은 방법은 무엇입니까?

인덱스를 만들면 요청이 잠길 것이라고 확신하며 할 수 없습니다.

1 백만 행 이상의 큰 테이블입니다.

답변:


12

같은 옵션은 없으며 쿼리 CREATE INDEX WITH (NOLOCK)에서도 NOLOCK힌트가없는 것보다 적은 수의 잠금을 수행합니다.

가장 좋은 방법 WITH (ONLINE = ON)은 작업의 시작과 끝에서 여전히 잠금을 유지하는 것입니다 (테이블과 관련된 다시 컴파일 계획과 관련됨- 자세한 내용은 Paul Randal의이 블로그 게시물 참조 ).

이렇게하면 인덱스가 애플리케이션에 미치는 영향이 크게 줄어들지 만 그 영향을 완전히 제거 할 수있는 실질적인 방법은 없습니다. 또한이 기능은 무료가 아닙니다. Enterprise Edition이 필요합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.