구현할 SQL Server 2005 인덱스 권장 사항이 있는 경우 어떻게 알 수 있습니까?

StackOverflow https://stackoverflow.com/questions/3975

  •  08-06-2019
  •  | 
  •  

문제

우리는 SQL Server 인스턴스 중 하나를 2000에서 2005로 업그레이드하는 중입니다.성능 대시보드를 설치했습니다(http://www.microsoft.com/downloads/details.aspx?FamilyId=1d3a4a0d-7e0c-4730-8204-e419218c1efc&displaylang=en) 일부 높은 수준의 보고에 액세스할 수 있습니다.보고서 중 하나에 누락된(권장) 인덱스가 표시됩니다.나는 이것이 쿼리 최적화 프로그램에 의해 유지 관리되는 일부 시스템 뷰를 기반으로 한다고 생각합니다.

제 질문은 지수 추천을 언제 받아들일지 결정하는 가장 좋은 방법이 무엇인지입니다.최적화 프로그램의 제안을 모두 적용하는 것이 의미가 없다는 것을 알고 있습니다.기본적으로 인덱스를 사용해 보고 성능이 향상되면 유지하고 성능이 저하되거나 동일하게 유지되면 삭제하라는 조언을 많이 봅니다.결정을 내리는 더 좋은 방법이 있는지, 그리고 이 주제에 대해 어떤 모범 사례가 있는지 궁금합니다.

도움이 되었습니까?

해결책

가장 먼저 알아야 할 사항:

2000에서 2005로 업그레이드하는 경우(분리 및 연결 사용) 다음을 확인하십시오.

  1. 호환성을 90으로 설정
  2. 인덱스 재구축
  3. 전체 검사로 업데이트 통계 실행

이렇게 하지 않으면 최적이 아닌 계획을 얻게 됩니다.

테이블이 주로 쓰는 경우 테이블이 많은 읽기 쿼리에 사용되는 경우 가능한 한 적은 인덱스를 원합니다. Where 절이 인덱스로 덮여 있는지 확인해야합니다.

다른 팁

당신이 얻은 조언이 맞습니다.하나씩 모두 시도해 보세요.

성능에 관해서는 테스트를 대체할 수 있는 방법이 없습니다.증명하지 않는 한 당신은 아무 짓도 하지 않은 것입니다.

데이터베이스에서 발생하는 가장 일반적인 유형의 쿼리를 최선을 다해 연구하고 해당 연구를 기반으로 인덱스를 생성합니다.

예를 들어, 매우 자주 기록되지만 거의 읽히지 않는 웹 사이트 조회수를 저장하는 테이블이 있는 경우입니다.그런 다음 테이블을 인덱싱하지 마십시오.

기록된 것보다 더 자주 액세스하는 사용자 목록이 있는 경우 먼저 가장 많이 액세스하는 열(일반적으로 기본 키)에 클러스터형 인덱스를 만듭니다.그런 다음 일반적으로 검색되는 열과 order by 절에 사용되는 열에 대한 인덱스를 만듭니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top