2011-10-11 3 views
0

방금 ​​새로운 회사에 참여했으며 데이터베이스 성능을 최적화하는 것이 목표였습니다. 하나의 가능한 (및 제안 된) 방법은 하나가 아닌 여러 개의 서버를 사용하는 것입니다. 이를 수행 할 수있는 많은 방법이 있으므로 먼저 DB를 분석해야합니다. 각 테이블에 대해 얼마나 많은 삽입/업데이트 및 삭제가 수행되는지 측정 할 수있는 도구가 있습니까?데이터베이스 테이블 및 사용 분석

답변

1

DMV가 CDC보다 훨씬 좋을 것이라고 Surfer513에 동의합니다. CDC를 추가하는 것은 상당히 복잡하며 시스템에 부하를 추가합니다. (통계 자료는 here입니다.)

SQL Server Trace을 먼저 설정하여 장기 실행 명령을 확인하는 것이 좋습니다.

시스템에서 저장 프로 시저를 많이 사용하는 경우 (잘하면) sys.dm_exec_procedure_stats을 확인하십시오. 이렇게하면 가장 자주 사용되는 절차/표 /보기에 집중할 수 있습니다. execution_count 및 total_worker_time을 확인하십시오.

요점은 시스템의 어느 부분이 느린지 (추적을 사용하여) 어디에서 시간을 보낼지를 결정하려는 것입니다.

0

한 가지 방법은 Change Data Capture (CDC) or Change Tracking을 이용하는 것입니다. 당신이 이것을 얼마나 깊이 찾고 있는지 확신 할 수 없지만 대략적인 견적을 얻는 다른 간단한 방법이 있습니다 (정확도를 원하는 것처럼 보이지 않습니다. 단지 구장 수치입니까?).

테이블에 인덱스가 있다고 가정하면 sys.dm_db_index_operational_stats을 쿼리하여 인덱스에 영향을주는 삽입, 업데이트/삭제에 대한 데이터를 얻을 수 있습니다. 다시 말하지만 이것은 대략적인 견적이지만 괜찮은 아이디어를 줄 것입니다.