>  기사  >  데이터 베이스  >  Oracle에서 강제 인덱싱을 사용하는 방법과 주의사항에 대한 자세한 설명

Oracle에서 강제 인덱싱을 사용하는 방법과 주의사항에 대한 자세한 설명

小云云
小云云원래의
2017-12-11 14:34:461932검색

이 글에서는 주로 Oracle에서 강제 인덱싱을 사용하는 방법과 주의 사항을 샘플 코드를 통해 자세히 소개합니다. 모든 사람의 학습이나 작업에 대한 확실한 참고 학습 가치가 있으므로 아래 편집자를 따르십시오. .함께 배워봅시다. 그것이 모두에게 도움이 되기를 바랍니다.

Oracle은 강제 인덱싱을 사용합니다

일부 시나리오에서는 ORACLE이 자동으로 인덱싱하지 않을 수 있습니다. 이때 비즈니스에 분명한 경우 강제 인덱싱을 사용하여 쿼리 문의 성능을 테스트해 볼 수 있습니다.

EMP 테이블을 예로 들어보겠습니다.

먼저 그림과 같이 EMP 테이블에 고유 인덱스를 만듭니다.

일반 검색:

SELECT * FROM EMP T

실행 계획 보기:

전체 테이블 스캔임을 알 수 있습니다.

강제 인덱스를 사용하고, SELECT 뒤에 /*.....*/를 추가하고, 중간에 인덱스 속성을 추가하면 다음과 같습니다.

SELECT /*+index(t pk_emp)*/* FROM EMP T 

--强制索引,/*.....*/第一个星星后不能有空格,里边内容结构为:加号index(表名 空格 索引名)。
--如果表用了别名,注释里的表也要使用别名。

이것을 보면 is 인덱스 PK_EMP가 사용됩니다.

Oracle의 강제 인덱싱 사용에 대한 참고 사항

최근 Oracle의 SQL 인덱스 유효 조건을 확인한 결과 다음과 같은 규칙이 발견되었습니다.

1 인덱스 유효 여부는 레코드 수와 관련이 있습니다.

-0 A, 2016-01-01 ~ 2016-11-30 데이터량 402518, 인덱스 유효성


B, 2016-01-01 ~ 2016-12-30 데이터량 444844, 인덱스가 적용되지 않음


SELECT 
 * 
FROM 
 T_MAINS 
WHERE 
 date > TO_DATE (--备注今天是2017-01-23 
  '2016-01-01', 
  'yyyy-mm-dd hh24:mi:ss' 
 ) 
AND date < TO_DATE ( 
 &#39;2016-11-30&#39;, 
 &#39;yyyy-mm-dd hh24:mi:ss&#39; 
);

2. T_MAINS는 특정 시간 유형 필드에 따라 분할되었습니다. 쿼리 조건에서 특정 파티션을 정확하게 찾을 수 있으면 SQL 실행 효율성이 향상될 수 있습니다.

관련 권장 사항:

MySQL 및 Oracle 데이터베이스 중지 및 배치 파일 시작

HINT 메서드를 사용하여 인덱스를 강제 적용하는 MySQL 데이터베이스 또는 Oracle

oracle로 테이블 파일을 가져오는 방법

위 내용은 Oracle에서 강제 인덱싱을 사용하는 방법과 주의사항에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.