SQL Server에는 "다중 열 통계"라는 것이 있지만 이것이 의미하는 것은 아닙니다.
다음 샘플 테이블을 살펴 보겠습니다.
CREATE TABLE BadStatistics
(
IsArchived BIT NOT NULL,
Id INT NOT NULL IDENTITY PRIMARY KEY,
Mystery VARCHAR(200) NOT NULL
);
CREATE NONCLUSTERED INDEX BadIndex
ON BadStatistics (IsArchived, Mystery);
이를 통해 두 개의 인덱스에서 두 개의 통계가 생성됩니다.
BadIndex에 대한 통계 :
+--------------+----------------+-------------------------+
| All density | Average Length | Columns |
+--------------+----------------+-------------------------+
| 0.5 | 1 | IsArchived |
+--------------+----------------+-------------------------+
| 4.149378E-06 | 37 | IsArchived, Mystery |
+--------------+----------------+-------------------------+
| 4.149378E-06 | 41 | IsArchived, Mystery, Id |
+--------------+----------------+-------------------------+
+--------------+------------+---------+---------------------+----------------+
| RANGE_HI_KEY | RANGE_ROWS | EQ_ROWS | DISTINCT_RANGE_ROWS | AVG_RANGE_ROWS |
+--------------+------------+---------+---------------------+----------------+
| 0 | 0 | 24398 | 0 | 1 |
+--------------+------------+---------+---------------------+----------------+
| 1 | 0 | 216602 | 0 | 1 |
+--------------+------------+---------+---------------------+----------------+
클러스터형 인덱스에 대한 통계 :
+--------------+----------------+---------+
| All density | Average Length | Columns |
+--------------+----------------+---------+
| 4.149378E-06 | 4 | Id |
+--------------+----------------+---------+
+--------------+------------+---------+---------------------+----------------+
| RANGE_HI_KEY | RANGE_ROWS | EQ_ROWS | DISTINCT_RANGE_ROWS | AVG_RANGE_ROWS |
+--------------+------------+---------+---------------------+----------------+
| 1 | 0 | 1 | 0 | 1 |
+--------------+------------+---------+---------------------+----------------+
| 240999 | 240997 | 1 | 240997 | 1 |
+--------------+------------+---------+---------------------+----------------+
| 241000 | 0 | 1 | 0 | 1 |
+--------------+------------+---------+---------------------+----------------+
(저는 행의 약 10 분의 1이 아카이브되지 않은 임의의 샘플 데이터로 테이블을 채웠습니다. 나중에 전체 스캔 통계 업데이트를 실행했습니다.)
2 열 통계의 막대 그래프가 왜 하나의 열만 사용합니까? 나는 많은 사람들이 그것에 대해 쓴 것을 알고 하지 않습니다 하지만 근거는 무엇인가? 이 경우 첫 번째 열에는 두 개의 값만 있기 때문에 전체 히스토그램의 유용성이 떨어집니다. 통계가 그와 같이 임의로 제한되는 이유는 무엇입니까?
이 질문은 완전히 다른 짐승 인 다차원 히스토그램에 대한 것이 아닙니다. 단일 차원 히스토그램에 관한 것입니다. 단일 차원은 각각의 여러 열을 포함하는 튜플입니다.