이름, 주소 및 DOB를 포함한 다양한 사람들의 인구 통계 정보를 저장하는 FANS 테이블이 있습니다. 테이블 자체에는 7,655 개의 데이터 행이 있습니다. CITY 열에 하나의 INDEX를 만들었습니다. 나는 테이블에 40 개의 유일한 도시가 있다는 것과 NULL 값이 없다는 것을 확실히 알고 있습니다. 최적화 도구가 INDEX를 사용하기 시작할 때 간단한 실험을 실행하려고합니다.Oracle SQL Developer : 선택성 계산
SELECT CITY
FROM FANS
WHERE CITY BETWEEN 'APOLLO BEACH' AND 'BRANDON';
내가 MySQL의에서 이전 배운 선택도 = 카디/기록 카디널리티는 인덱스의 고유 값의 수있을 것 * 100 %의 수.
SQL Developer에서 "Explain Plan"을 실행하면 카디널리티가 500이됩니다. 따라서 올바른 계산은 500/7,655 * 100 %가됩니까?
아마도 oracle 수식이 MySQL 수식과 다릅니다. –
https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:40230704959128 – OldProgrammer