2008-09-25 5 views

답변

4
exec sp_updatestats 

예를 들어, 쿼리가 제대로 수행되지 않는 것으로 밝혀지면 통계를 업데이트하는 것이 매우 유용 할 수 있습니다. 이는 쿼리 계획을 검사하고 예를 들어 인덱스 검색 대신 테이블 검색 또는 인덱스 검색이 수행되고 있음을 알면 알 수 있습니다. 이 모든 것은 인덱스를 올바르게 설정했다고 가정합니다.

UPDATE STATISTICS 명령도 있지만 개인적으로 사용한 적이 없습니다.

+0

BOL에서 : sp_updatestats는 데이터베이스의 모든 사용자 정의 테이블과 내부 테이블에 대해 ALL 키워드를 지정하여 UPDATE STATISTICS를 효과적으로 실행합니다. –

3

Enterprise Manager에서 정의한 유지 관리 계획과 같이 유지 관리 계획에 통계 업데이트를 추가하는 것이 일반적입니다. 그렇게하면 매일, 매주, 뭐든간에 일정에 따라 발생합니다.

SQL Server 2000은 쿼리 실행에 대한 올바른 결정을 내리기 위해 통계를 사용하므로 확실히 도움이됩니다.

인덱스를 동시에 다시 작성하는 것이 좋습니다 (DBCC DBREINDEX 및 DBCC INDEXDEFRAG).

1

업데이트 통계는 다음과 같은 이벤트 후 필요가 :
- 기록 테이블에 삽입
- 레코드는 테이블에서 삭제됩니다
- 당신은 큰 데이터베이스가있는 경우 기록은 테이블

에 업데이트됩니다 하루에 많은 글을 쓰는 수백만 건의 레코드로 인덱스 업데이트를 예약하기 위해 사용량이 적은 시간을 결정해야합니다.

또한 트래픽 유형을 고려해야합니다. 많은 외래 키 종속성이있는 테이블에 많은 (수백만) 개의 레코드가 있고 읽기에 대한 쓰기 비율이 더 큰 경우 자동 통계 재 계산을 해제하는 것이 좋습니다 (참고 :이 기능은 다음 버전의 SQL Server,하지만 SQL Server 2000의 경우에는 괜찮습니다). 이렇게하면 엔진이 모든 INSERT, DELETE 또는 UPDATE에 대한 통계를 다시 계산하지 않고 해당 작업을 훨씬 더 효율적으로 수행 할 수 있습니다.

색인은 웃음 거리가 아닙니다. 그것들은 성능이 우수한 데이터베이스의 마음과 영혼입니다.

2

인덱스를 다시 작성하면 해당 인덱스에 대한 통계가 자동으로 다시 작성됩니다. 시간대가 허용하는 경우 유지 관리 계획의 일부에 대한 업데이트 통계를 실행하는 것이 좋습니다. 야간과 같이 빈번하게 자주 인덱스를 다시 작성하는 것이 좋습니다.

SQL Server : 오래된 통계가 잘못 수행 된 쿼리 원인인지 확인하려면 Management Studio에서 '쿼리 -> 예상 된 실행 계획 표시'(CTRL-L)를 설정하고 쿼리를 실행하십시오. 다른 창을 열고 동일한 쿼리를 붙여넣고 Management Studio에서 '쿼리 -> 실제 실행 계획 표시'(CTRL-M)를 클릭하고 쿼리를 다시 실행하십시오. 실행 계획이 다른 경우 통계가 가장 오래된 것입니다.

관련 문제