使用できるバージョン10gR2のから始まっDBMS_SPACE.CREATE_INDEX_COST
DBMS_SPACE.CREATE_INDEX_COST (
ddl IN VARCHAR2,
used_bytes OUT NUMBER,
alloc_bytes OUT NUMBER,
plan_table IN VARCHAR2 DEFAULT NULL);
docsから: "このプロシージャは、既存のテーブルにインデックスを作成するコストを決定します。入力は、索引の作成に使用されるDDLステートメントです。このプロシージャは、索引を作成するために必要なストレージを出力します。「
を参照してくださいhttps://docs.oracle.com/database/121/ARPLS/d_space.htm#ARPLS68101
例(もでsqlfiddle):
DECLARE
ub NUMBER;
ab NUMBER;
BEGIN
DBMS_SPACE.CREATE_INDEX_COST (
ddl => 'CREATE INDEX x_1 ON t1 (a,b,c) TABLESPACE users',
used_bytes => ub,
alloc_bytes => ab
);
DBMS_OUTPUT.PUT_LINE('Used MBytes: ' || ROUND(ub/1024/1024));
DBMS_OUTPUT.PUT_LINE('Alloc MBytes: ' || ROUND(ab/1024/1024));
END;
/
出力:
Used MBytes: 1
Alloc MBytes: 2
出典
2017-08-09 11:21:38
GWu
私はそれに必要なわずか8年後に - しかしを、便利、それにもかかわらず:) – Jared