2012-12-06 6 views
2

년, 주 및 카운티별로 데이터가있는 테이블이 있습니다. 카운티 식별자는 주와 카운티를 모두 코딩하는 FIPS 코드로 저장됩니다.클러스터형 인덱스 및 대상 쿼리

올해와 카운티에서 CLUSTERED INDEX를 만들었으며 데이터가 물리적으로 해당 정렬에 저장된다는 것을 알고 있습니다.

질문은 : 데이터 FIPS 코드로 저장되므로

  • 들은 자동으로 국가의 순서로 배치되어?

  • State에 클러스터되지 않은 인덱스를 추가해도 아무 것도 얻을 수없는 것처럼 보입니다. 사실입니까?

  • 일반적으로 여러 변수에 클러스터 된 인덱스가있는 경우 인덱스의 구성 요소에서 WHERE, GROUP BY 또는 ORDER BY 절이있는 쿼리가 "적용"되므로 인덱스가 필요하지 않습니까?

답변

0

쿼리는 상태에 대한 인덱스가 없을 때 상태가 순차적임을 알 수 없습니다.
상태에 대한 쿼리는 연도 및 fips에서 복합 인덱스를 사용하지 않습니다.

주 (state)는 색인의 혜택을받을 것입니다.
상태에 대해 별도의 색인을 만들 수 있습니다.
복합 인덱스 (연도, 상태, FIPS)에 상태를 포함하십시오.

복합 색인 col1, col2, col3이 있다고합시다. 그리고 col3에있는 곳은 어디입니까? 쿼리는 복합 인덱스를 사용할 수 있지만 스캔은됩니다. col3를 사용하는 많은 또는 중요한 쿼리가있는 경우 col3에 인덱스를 배치하고 이점을 얻을 수 있는지 확인하십시오. 그리고 데이터가로드되었는지 테스트해야합니다. 다른 요소는 복합 인덱스가 많이 사용되면 이미 메모리에있을 수 있습니다.

관련 문제