컬럼의 분포도가 10~15% 넘지말아야한다=>몬뜻인가요? 0 4 1,405

by 안떠니 [2014.11.25 03:50:17]


좀 바보 같이 들리겠지만,

http://wiki.gurubee.net/pages/viewpage.action?pageId=688165

인덱스를 공부 중입니다. 

중간쯤에 컬럼 분포도가 10~15% 를 넘지 말아야 한다.

이 문장의 뜻을 잘 모르겠습니다.

by jkson [2014.11.25 08:13:53]

제가 이해한 바로는.. 총데이터 중에 특정 데이터가 차지하는 비율을 분포도라 했던 것 같아요. 특정 컬럼에 인덱스를 추가할 경우 컬럼에 존재하는 데이터가 'A'와 'B'라는 값이 반반씩 있다고 하면 분포도는 50%가 되겠죠? 이 경우에는 이 컬럼에 인덱스를 추가하더라도 풀스캔과 큰 차이가 안 납니다.


by 부쉬맨 [2014.11.25 09:42:11]

특정 컬럼에 데이터가 1~100까지 있는데

이 데이터를 조회시에 1~15까지는 조회시에는 index 를 태울경우

전체테이블을 읽는것보다 효율이 좋다라는것입니다.

이건 사람들의 각자 경험상 느끼는 체감입니다.

어떠한 사람들은 1~10의 데이터를 맥스치로 생각하여

더많은 데이터(1~20)라면 그냥 테이블 풀스캔을 읽도록 선택합니다.

index range scan 시에 생긴 비효율(index만 읽고 끝나지않는 경우) 보다는

table의 데이터가 많지만 한번에 읽고 끝내서 생기는 효율이 좀더 좋다고 판단

하기 때문입니다.

 


by 안떠니 [2014.11.26 00:23:10]

1~10, 1~20 이라는 말씀은 sql 의 결과 행의 갯수인거죠?

즉, 조회 결과가 100 개의 데이터에서 10~20% 일 경우


by 부쉬맨 [2014.11.26 09:43:55]

행의 갯수를 말하는것입니다.

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