TABLOCK
최소한의 로깅을 얻기 위해 클러스터 된 인덱스로 정의 된 빈 임시 테이블에 테이블 힌트 를 추가해야하는지 확실하지 않습니다 .
아니요. 로컬 임시 테이블 ( #temp
)은 작성 세션 전용 이므로 테이블 잠금 힌트가 필요하지 않습니다. 에서 생성 된 전역 임시 테이블 ( ##temp
) 또는 일반 테이블 ( dbo.temp
) 에는 테이블 잠금 힌트가 필요 tempdb
합니다. 여러 테이블 에서 액세스 할 수 있기 때문입니다.
전체 최소 로깅 최적화가 적용되지 않더라도 생성 된 테이블은 정보 tempdb
를 로깅 할 필요가없는 것과 같은 다른 최적화의 혜택을받습니다 REDO
. 문서화되지 않은 행을 사용하여 행 또는 페이지가 기록되고 있는지 테스트 할 수 있습니다 sys.fn_dblog
. 일반 로깅은와 같은 행 로그 레코드를 제공 LOP_INSERT_ROWS
합니다.
SQL Server 2016에서 쿼리로 TABLOCK
병렬 실행하려면 로컬 임시 테이블 을 추가 해야합니다 INSERT...SELECT
. Microsoft 기술 자료 문서를 참조하십시오.
INSERT를 실행할 때 성능이 저하됩니다. SQL Server 2016에서 SELECT 작업