Oracle에서 인덱스가 클러스터된 것입니까 아니면 클러스터되지 않은 것입니까?
Oracle 인덱스가 클러스터되었는지 또는 클러스터되지 않았는지 확인하려면 어떻게 해야 합니까?
다 했습니다
select FIELD from TABLE where rownum <100
어디에FIELD는 인덱스를 구축하는 필드입니다.튜플을 주문했는데, 인덱스가 미클래싱되어 결과가 틀렸습니다.
기본적으로 Oracle의 모든 인덱스는 Unclused 상태입니다.Oracle에서 클러스터된 인덱스는 IOT(Index-Organized tables) 기본 키 인덱스뿐입니다.
테이블이 IOT인지 여부를 판단할 수 있습니다.IOT_TYPE에 있는 칼럼ALL_TABLESview (기본 키는 다음과 같이 쿼리하여 결정할 수 있습니다.ALL_CONSTRAINTS그리고.ALL_CONS_COLUMNS조회 수).
쿼리가 정렬된 행을 반환하는 몇 가지 이유는 다음과 같습니다.
- 당신의 테이블은 색인으로 구성되어 있고,
FIELD는 기본 키의 선두 부분입니다. - 테이블이 힙 구성되어 있지만 행은 실수로 다음 순서로 정렬됩니다.
FIELD, 증가하는 아이덴티티 열에서 이러한 현상이 발생하기도 합니다.
케이스 2는 우연히 정렬된 행만 반환됩니다.삽입물의 순서가 보장되지 않으며, 나아가 Oracle은 미래에 사용 가능한 공간이 있는 경우 오래된 블록을 자유롭게 재사용할 수 있어 취약한 주문을 방해합니다.
케이스 1은 대부분의 시간에 순서가 지정된 행을 반환하지만, 반환되는 행의 순서는 미래에 변경될 수 있는 액세스 경로의 알고리즘(또는 DB 파라미터, 특히 병렬도를 변경하는 경우)에 따라 달라지기 때문에 이에 의존해서는 안 됩니다.
두 경우 모두 순서 행을 원할 경우 ORDER BY 절을 제공해야 합니다.
SELECT field
FROM (SELECT field
FROM TABLE
ORDER BY field)
WHERE rownum <= 100;
Oracle에는 SQL Server 및 Sybase와 같은 "클러스터 인덱스" 개념이 없습니다.유사하지만 동일하지 않은 색인 구성 표가 있습니다.
Sybase, MS SQL Server 등에서 구현되는 "클러스터" 인덱스는 물리적으로 인덱스가 있는 열 순서대로 행이 저장되는 경우 Oracle에서와 같이 존재하지 않습니다.Oracle에서 "Cluster"는 블록 및 테이블의 구성 방식과 관련하여 다른 의미를 가지고 있습니다.
Oracle에는 물리적으로 동등한 "Index Organized Tables"가 있지만 쿼리 최적화기가 다르게 작동하기 때문에 훨씬 덜 자주 사용됩니다.
제가 식별 질문에 대한 답을 얻을 수 있는 가장 가까운 방법은 다음과 같은 것을 시도해 보는 것입니다.
SELECT IOT_TYPE FROM user_tables
WHERE table_name = '<your table name>'
인스턴스는 의 10g을 합니다.IOT아니면null따라서.
Index Organized Tables는 기본 키로 구성해야 합니다.기본 키가 시퀀스 생성 값인 경우 이는 종종 쓸모가 없거나 생산성이 떨어집니다(동일한 블록에 대해 동시 삽입이 충돌하기 때문에).
단일 테이블 클러스터를 사용하여 동일한 데이터베이스 블록에서 동일한 열 값을 가진 데이터를 그룹화할 수 있습니다.하지만 그것들은 주문되지 않았습니다.
언급URL : https://stackoverflow.com/questions/6290422/is-an-index-clustered-or-unclustered-in-oracle
'programing' 카테고리의 다른 글
| mysqldump with --where clause is not working (0) | 2023.09.19 |
|---|---|
| 리소스 ID에서 리소스 이름을 가져오는 방법 (0) | 2023.09.19 |
| WP 플러그인 업그레이드 후 Google Maps API V3 오류 발생 (0) | 2023.09.19 |
| phpMyAdmin에 정의된 "내부 관계"란 무엇입니까? (0) | 2023.09.19 |
| constant *p vs. int constant *p - 유형 다음에 const를 허용합니까? (0) | 2023.09.19 |