복붙노트

[SQL] 인덱스 스캔의 선택도의 역할 / 구

SQL

인덱스 스캔의 선택도의 역할 / 구

선택은 인덱스를 생성하는 중요한 요소임을 나는 많은 SQL 책과 기사를 읽고있다. 열이 낮은 선택성이있는 경우, 인덱스가 추구하는 더 좋은 해가 않습니다. 그러나 기사의 아무도 이유를 설명하지 않습니다. 사람은 왜 그런지를 설명하거나, 관련 기사에 대한 링크를 제공 할 수 있습니까?

해결법

  1. ==============================

    1.로버트 셀던에 의해 SimpleTalk 기사에서 : 14 SQL 서버 인덱싱 질문 당신은 너무 물어 수줍어 있었

    로버트 셀던에 의해 SimpleTalk 기사에서 : 14 SQL 서버 인덱싱 질문 당신은 너무 물어 수줍어 있었

    또한 이러한 기사를 확인 :

    SqlServerCentral 기사에서 :

  2. ==============================

    2.나는 (SQL 서버 내 현재의 지식을 기반으로) 매우 간단한 설명을 작성하려고 :

    나는 (SQL 서버 내 현재의 지식을 기반으로) 매우 간단한 설명을 작성하려고 :

    인덱스가 낮은 선택도를 갖는 경우, 동일한 값의 전체 행의 큰 백분율이 발견된다는 것을 의미한다. (500 행에서 200 색인 기반에 같은 값을 가지고 같은)

    인덱스는 당신이 필요로하는 모든 열 정보를 포함하지 않는 보통 경우, 다음 포인터를 사용하고, 여기서 인덱스에 그 "항목"에 연결되어 물리적으로 행을 찾을 수 있습니다. 그런 다음 secpnd 단계에서 엔진이 해당 행을 읽을 수있다.

    당신이 볼 수 있도록이 같은 검색은 두 단계를 사용하여. 그리고 여기에 선택 온다 :

    더 많은 결과 당신은 선택도가 낮은 엔진이 수행하는 두 배의 작업 becuse 얻을. 심지어 테이블 스캔이 더 효율적입니다 때문에이 사실을 몇 가지 경우가 있습니다 그래서 다음 인덱스는 매우 낮은 선택도 함께 추구합니다.

  3. from https://stackoverflow.com/questions/12155853/role-of-selectivity-in-index-scan-seek by cc-by-sa and MIT license