답변:
통계는 단순히 쿼리 최적화 프로그램이보다 나은 의사 결정을 내리는 데 도움이되는 일종의 동적 메타 데이터입니다. 예를 들어, 테이블에 열이 12 개 뿐인 경우 조회를 수행 할 인덱스는 없습니다. 항상 전체 테이블 스캔을 수행하는 것이 좋습니다. 그러나 동일한 테이블이 백만 행으로 커지면 인덱스를 사용하는 것이 좋습니다. 그러나 고유 값이 거의없는 열에서 해당 테이블을 쿼리하는 경우 (예 : "M"또는 "F"만 포함하는 "성"열일 수 있음) 실제로 FTS가 더 좋을 수 있습니다. 결과 집합을 작성하려면 어쨌든 블록을 검색해야합니다. 이제 테이블이 99 % "M"이고 1 % "F"라고 말하면 FTS를 사용하거나 다른 경우에는 인덱스를 사용해야합니다. 같은 테이블, 같은 쿼리, 테이블의 내용에 따라 네 가지 다른 쿼리 계획이있을 수 있습니다. 이러한 종류의 통계는 "통계"이며 각 데이터베이스마다 개별적입니다. 동일한 테이블 및 인덱스 구조를 가진 두 데이터베이스도 다른 통계를 갖습니다.
요약하면 최신 데이터베이스 엔진에는 두 가지 종류의 쿼리 최적화가 있습니다. SQL 다시 작성 (컴파일러가 C를 다시 작성하여보다 효율적으로 작성하는 것과 같은 규칙 기반 최적화)과 데이터의 올바른 경로 선택 (비용 기반 최적화) (런타임에 핫스팟을 식별하는 JIT 컴파일러와 같은). 쿼리 옵티마이 저가 명백히 잘못된 일을하는 경우 (예 : 인덱스가 더 좋다는 것을 알고 FTS를 선택하는 경우)에만 걱정할 필요 가 있습니다.
이들은 쿼리 최적화 프로그램 (MSDN의 백서)에서 인덱스 및 / 또는 열의 값 분포를 추적 하는 데 사용됩니다 .
당신의 유일한 관심사는 정기적으로 업데이트하는 것입니다 : DB 엔진을 그대로 두십시오.