공급 업체로부터 라이센스가 부여 된 데이터가 포함 된 대형 테이블 (6m 레코드)이 있습니다. 이 테이블에는 Y/N 값이있는 NVARCHAR2 (1) 열이 있습니다. 'N'값으로 레코드를 필터링하는보기를 만들었으며이보기는 광범위하게 쿼리됩니다. NVARCHAR2 (1) 열을 인덱싱하는 가장 좋은 방법은 무엇입니까?Oracle에서 Y/N 열을 색인하는 방법
1
A
답변
8
는 무엇입니까 Y/N 비율? 레코드가 업데이트되어 Y/N 및/또는 N/Y로 이동합니까? 그렇다면 정기적으로 (예 : 재고/품절/재고/품절) 또는 1 회 처리 (미처리/처리)로 발생합니까?
항목이 섞여 있고 짝수 비율이있는 경우 색인이 도움이되지 않습니다.
N에서 N을 나눌 수있는 파티셔닝 (라이센스가있는 경우)을 사용할 수 있습니다. 구체화 된 뷰를 만들거나 테이블을 두 테이블 (UNSTEAD OF 트리거가있는 경우)의 UNION ALL 뷰로 만들면 N에서 Y도 나눌 수 있습니다. 이 모든 것들이 프로세싱을 업데이트하기 위해 벌금이 부과 될 것입니다.
열이 많은 업데이트 작업을 얻지 못할 경우 비트 맵 인덱스가 적합 할 수 있습니다.
CASE WHEN 플래그 = 'Y', 'Y'끝에서 함수 기반 인덱스를 가질 수 있습니다. 인덱스에서 N 값을 제외하면 훨씬 더 작아집니다.
0
아마도 구체화 된보기를 사용할 수 있습니까? 그러면 모든 쿼리가 더 작은 'Y'전용 테이블에서 작동합니다.
1
비트 맵 인덱스를 사용하십시오. 테이블이 Y/N 값에 큰 왜곡이있는 경우
1
, 당신은뿐만 아니라 Histograms
으로 볼 필요가 있습니다
http://www.dba-oracle.com/t_histograms.htm
http://download.oracle.com/docs/cd/B19306_01/server.102/b14211/stats.htm#i42219
관련 문제
- 1. 거리 주소 열을 색인하는 방법
- 2. 데이터 검색 - Oracle에서 CLOB 열을 사용한 성능
- 3. Oracle에서 매개 변수와 열을 비교하는 방법은 무엇입니까?
- 4. oracle에서 개별 열을 지우는 방법은 무엇입니까?
- 5. asp.net에서 .doc 및 .pdf 파일을 색인하는 방법
- 6. 우분투에서 스핑크스를 다시 색인하는 가장 좋은 방법
- 7. Oracle에서 색인을 확인하는 방법
- 8. Oracle에서 사용자를 복제하는 방법
- 9. SYNONYMS에서 오라클의 모든 열을 얻는 방법
- 10. Oracle에서 파생 된 열을 만든 다음 사용하는 방법은 무엇입니까?
- 11. oracle에서 특별한 단어를 피하는 방법?
- 12. Oracle에서 잠긴 행을 찾는 방법
- 13. Oracle에서 XML 데이터를 여는 방법
- 14. Oracle에서 Java 프로그램에 연결하는 방법
- 15. oracle에서 쿼리 성능을 측정하는 방법
- 16. Sqlplus Oracle에서 결과를 그룹화하는 방법
- 17. 각 순열에 대한 색인을 만드는 것보다 여러 열을 색인하는 더 좋은 방법이 있습니까?
- 18. oracle에서 varchar2 정렬은 어떻게 작동합니까?
- 19. 첫 번째 열을 기반으로 열을 채우는 방법
- 20. Oracle에서 캐시 된 모든 항목을 지우는 방법
- 21. Oracle에서 연결된 문자열을 생성하는 빠른 방법
- 22. Oracle에서 현재 열려있는 커서를 찾는 방법
- 23. Oracle에서 RAM 사용을 제한하는 방법 9
- 24. Oracle에서 Check Constraint의 내용을 보는 방법
- 25. Hibernate/Oracle에서 정규 표현식을 사용하는 방법
- 26. Oracle에서 casted 열에 값을 할당하는 방법
- 27. oracle에서 null null을 동일하게 만드는 방법
- 28. oracle에서 sqlldr을 사용하여 조건부로 데이터를로드하는 방법
- 29. Oracle에서 대/소문자를 구분하지 않는 방법
- 30. Lucene에서 CHM 파일을 색인하는 방법이 있습니까?
+1 게리 (Gary)는 관련 문제의 대부분을 다루었습니다. 또한 일반적인 쿼리에는 선택적인 열을 필터링하는 것이 포함되어있어 필요한 인덱싱을 나타낼 수도 있습니다. – dpbradley
약 50/50은 Y와 N 값을 나눕니다. 데이터는 본질적으로 "업데이트"되지 않지만 공급 업체가 주기적으로 최신 정보를 배포함에 따라 데이터 세트를 대체합니다. –