인덱스 관련 질문 하나만드릴게요. 0 2 827

by 토마톰 [MySQL] [2019.10.31 19:12:20]


안녕하세요.

인덱스 설계중 궁금한점이있어 질문드려요

아래는 현재 설정된 인덱스중 두개이구요.

순서대로 인덱스명, 인덱스내 컬럼seq, 컬럼명, collation, 카디널리티 입니다.

idx_mediaid_date 1 media_id A 78738
idx_mediaid_date 2 datehh A 28888844
idx_date_mediaId_accountId 1 datehh A 102031
idx_date_mediaId_accountId 2 media_id A 28888844
idx_date_mediaId_accountId 3 account_id A 28888844

인덱스에 대한 글을 보고 알게된것은 카디널리티(중복도)가 높은것에서 낮은것순으로 인덱스가 설정되어야한다고 이해하고있습니다. 이 카디널리티는 각 인덱스마다(?) 상대적 이라고 들었구요

위 인덱스 두개를 보면 (media_id, datehh) 인덱스는 media_id가 78738로 매우 낮고 datehh는 매우 높습니다.

하지만 바로 아래에 (datehh, media_id, account_id)는 위 인덱스와 반대인 카디널리티 수치를 띄고있는데 이해가 잘 가지않네요. 위의 수치를 보고 두 인덱스의 카디널리티값 차이좀 설명해주실분 혹시 계실까요??

 

감사합니다

by 우리집아찌 [2019.11.01 08:22:38]

각 인덱스 컬럼마다의 카디널리티가 아니라 누적되어온 ( 2번 컬럼이면 1번까지 포함된) 걸로 보셔야할섯 같네요 


by 부쉬맨 [2019.11.01 11:51:55]

단순 카디날리티를 보고 인덱스를 만든다는건 좀 책에서나 나오는 이야기이고요

실제로 업무에서 사용할때 

1,2 컬럼만 조회조건으로 넣고 사용을 하느냐

아니면 아니면 media_id 만 넣고도 조회하는 요건이있느냐

account_id만 입력해서 조회하지도않느냐 여부도 확인이 필요함니다.

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입