본문 바로가기
database/mysql

[MySQL] 카디널리티 cardinality

by moonsiri 2020. 11. 1.
728x90
반응형

카디널리티(Cardinality)를 간단하게 말하자면 해당 컬럼의 중복된 수치인데,

중복도가 낮으면 카디널리티가 높다고 표현하고, 중복도가 높으면 카디널리티가 낮다고 표현합니다.

예를 들어, 성별, 학년은 카디널리티가 낮고 주민번호, 계좌번호는 카디널리티가 높습니다.

주민번호와 계좌번호를 비교한다면 주민번호는 중복된 값이 없기 때문에

계좌번호는 주민번호에 비해 카디널리티가 낮다고 할 수 있습니다.(상대적)

여러 컬럼을 인덱스로 생성할 경우, 카디널리티가 높은 순에서 낮은 순으로 구성하는 것이 좋습니다.

   예) CREATE INDEX 인덱스명 ON 테이블명(주민번호, 계좌번호, 학년, 성별);

카디널리티가 높은 순으로 필터링하여 조회하기 때문입니다.

MySQL에서 SHOW INDEX FROM 테이블명; 쿼리로 인덱스의 정보를 조회할 수 있는데,

Cardinality를 확인할 수 있습니다.

728x90
반응형

댓글