경우에 따라 INSERT INTO <tablename> (WITH TABLOCK)
최소한의 로깅으로 인해 작업 수행 속도가 빨라집니다. 이러한 상황에는 BULK_LOGGED
복구 모델에 데이터베이스가 포함됩니다 .
사용하는 다른 잠재적 인 성능 이점이 있습니까 WITH TABLOCK
온 INSERT
데이터베이스 (때 빈 테이블에 tempdb를이 )가 사용하는 SIMPLE
복구 모델은?
SQL Server 2012 Standard Edition에서 작업하고 있습니다.
내 유스 케이스는을 사용하여 저장 프로 시저 내에서 임시 테이블을 생성 한 다음 즉시 채우는 것 INSERT...SELECT
입니다. 그런 종류의 tempdb 남용 을 피하려고 노력 하지만 때로는 필요할 수도 있습니다.
필요한 사례를 작성하려고합니다 TABLOCK
. 그것은 아무것도 다치게하지 않는 것처럼 보이며 이점이있을 수 있습니다. 코드베이스 전체에 추가 할 수있는 충분한 이점이 있는지 알아 내려고 노력 중입니다. 테이블에 쓰려는 다른 프로세스가 없다고 확신합니다.
일반적으로 클러스터 된 PK를 사용하여 새로 만든 로컬 임시 테이블에 삽입하지만 때로는 힙을 사용합니다.