sp_updatestats(Transact-SQL)
현재 데이터베이스의 모든 사용자 정의 및 내부 테이블에 대해 UPDATE STATISTICS를 실행합니다.
UPDATE STATISTICS에 대한 자세한 내용은 UPDATE STATISTICS(Transact-SQL)를 참조하십시오. 통계에 대한 자세한 내용은 통계를 사용하여 쿼리 성능 향상을 참조하십시오.
구문
sp_updatestats [ [ @resample = ] 'resample']
반환 코드 값
0(성공) 또는 1(실패)
인수
- [ @resample =] 'resample'
sp_updatestats가 UPDATE STATISTICS 문의 RESAMPLE 옵션을 사용하도록 지정합니다. **'resample'**을 지정하지 않으면 sp_updatestats가 기본 샘플링을 사용하여 통계를 업데이트합니다. resample은 기본값이 NO인 varchar(8)입니다.
주의
sp_updatestats는 ALL 키워드를 지정하여 데이터베이스의 모든 사용자 정의 및 내부 테이블에 대해 UPDATE STATISTICS를 실행합니다. sp_updatestats는 진행률을 나타내는 메시지를 표시합니다. 업데이트가 완료되면 모든 테이블에 대해 통계가 업데이트되었다고 보고합니다.
sp_updatestats 는 비활성화된 비클러스터형 인덱스에 대한 통계는 업데이트하며 비활성화된 클러스터형 인덱스에 대한 통계는 업데이트하지 않습니다.
sp_updatestats는 sys.sysindexes 카탈로그 뷰에 있는 rowmodctr 정보 기반의 업데이트가 필요한 통계만 업데이트하므로 변경되지 않은 행에 대한 불필요한 통계 업데이트가 발생하지 않습니다.
sp_updatestats는 저장 프로시저나 기타 컴파일된 코드의 재컴파일을 트리거할 수 있지만, 참조된 테이블 및 테이블의 인덱스에 대해 실행 가능한 쿼리 계획이 하나 뿐인 경우에는 sp_updatestats로 인해 재컴파일이 발생하지 않습니다. 이러한 경우에는 통계가 업데이트되었더라도 재컴파일이 필요하지 않습니다.
호환성 수준이 90 미만인 데이터베이스에 대해 sp_updatestats를 실행하면 특정 통계에 대한 최신 NORECOMPUTE 설정이 유지되지 않습니다. 호환성 수준이 90 이상인 데이터베이스에 대해 sp_updatestats를 실행하면 특정 통계에 대한 최신 NORECOMPUTE 설정이 유지됩니다. 통계 업데이트를 비활성화하고 다시 활성화하는 방법은 통계를 사용하여 쿼리 성능 향상을 참조하십시오.
사용 권한
sysadmin 고정 서버 역할의 멤버이거나 데이터베이스(dbo)의 소유자여야 합니다.
예
다음 예에서는 AdventureWorks2008R2 데이터베이스의 테이블에 대한 통계를 업데이트합니다.
USE AdventureWorks2008R2;
GO
EXEC sp_updatestats