col1, col2, col3, col4에 복합 키가 있다고 가정 해보십시오. col2를 사용하면 SQL 쿼리 색인에서 col3가 실행되지 않고 전체 테이블 스캔을 수행합니다. col2, col3은 색인의 키를 구동하지 않을 수 있습니다).복합 키 관련 검색어
col2에 별도의 인덱스를 만들지 여부에 관계없이 col3이 유일한 솔루션입니다 (또는) 힌트 (또는) 다른 방식을 사용하는 것처럼 기존 인덱스를 작동시킬 수있는 방법이 있습니다.
col1, col2, col3, col4에 복합 키가 있다고 가정 해보십시오. col2를 사용하면 SQL 쿼리 색인에서 col3가 실행되지 않고 전체 테이블 스캔을 수행합니다. col2, col3은 색인의 키를 구동하지 않을 수 있습니다).복합 키 관련 검색어
col2에 별도의 인덱스를 만들지 여부에 관계없이 col3이 유일한 솔루션입니다 (또는) 힌트 (또는) 다른 방식을 사용하는 것처럼 기존 인덱스를 작동시킬 수있는 방법이 있습니다.
통계가 최신이라고 가정하면 dbms는 테이블 스캔이 더 빠르다고 믿기 때문에 dbms가 인덱스를 사용하지 않는 것이 좋습니다. col1은 쿼리에 포함되어 있지 않기 때문에 인덱스가 도움이되지 않습니다.
가장 간단한 수정 방법은 다른 색인을 만드는 것입니다.
create index on your-table-name (col2, col3);
그러나 그렇다고해도 쿼리에서 사용한다는 보장은 없습니다. 작은 테이블에서는 전체 (작은) 테이블을 스캔하는 것보다 인덱스를 스캔 한 다음 테이블에서 행을 읽는 것이 더 효율적인 경우가 있습니다.
힌트가 쿼리에 미치는 영향은 dbms에 따라 다릅니다. 일부는 힌트를 전혀 지원하지 않습니다.
좋은 답변을 얻으려면 질문을 편집하여 쿼리의 ouptut, EXPLAIN에 붙여넣고 dbms로 질문에 태그를 답니다. –