您使用的資料庫是從 Oracle 9i 到 21c。
/* New Table1 */
CREATE TABLE TABLE1 (
COL VARCHAR(25) NOT NULL,
COL2 VARCHAR(25) NOT NULL,
COL3 VARCHAR(25) NOT NULL,
COL4 VARCHAR(25) NOT NULL,
COL5 VARCHAR(25) NOT NULL,
COL6 VARCHAR(25) NOT NULL
);
CREATE UNIQUE INDEX PK_TABLE1
ON TABLE1 (
COL ASC,
COL2 ASC,
COL3 ASC,
COL4 ASC,
COL5 ASC,
COL6 ASC
)
STORAGE (
BUFFER_POOL DEFAULT
)
NOLOGGING
ONLINE
COMPUTE STATISTICS
COMPRESS 3
SORT
NOPARALLEL;
ALTER TABLE TABLE1
ADD
CONSTRAINT PK_TABLE1
PRIMARY KEY (
COL,
COL2,
COL3,
COL4,
COL5,
COL6
);
我想在這里查詢計算統計、排序和在線值。我應該檢查哪個表?
僅在 9i 和 21c 中檢查時,無法在 ALL_INDEXES 表中進行搜索。
uj5u.com熱心網友回復:
你想在這里解決什么問題?
您提到的三個屬性不是索引的屬性。它們是關于如何構建索引的說明。我很難想出一個原因,即知道在創建索引時是否在索引上收集了統計資訊。或者是否在創建索引之前對表進行了排序。或者在索引構建期間是否允許對表進行 DML。
您可以檢查索引是否存在統計資訊。創建索引后,您可以立即查看last_analyzed列all_indexes以查看是否收集了統計資訊并推斷該引數的值是什么(盡管由于該compute statistics選項在 Oracle 始終收集統計資訊的較新版本中已被棄用和忽略,因此用處不大)。但是,如果您在系統運行一年后回來,統計資料可能已經收集了很多次(除了一些極端情況,例如仍在運行基于規則的優化器的古老 9i 資料庫)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/425305.html
