SET_ATTRIBUTE プロシージャは、指定したベクトルインデックスに対して、自動再構築に関連する属性を設定するために使用します。設定できる属性には、並列度、トリガーしきい値、トリガー周期が含まれます。
構文
PROCEDURE SET_ATTRIBUTE(
IN idx_name VARCHAR(65535),
IN table_name VARCHAR(65535),
IN attribute_name VARCHAR(65535),
IN attribute_value VARCHAR(65535));
パラメータ
パラメータ |
説明 |
必須 |
|---|---|---|
| idx_name | ベクトルインデックス名。 | 必須 |
| table_name | インデックスが属するテーブル名。 | 必須 |
| attribute_name | 属性名。 | 必須 |
| attribute_value | 属性値。文字列形式で指定します。 | 必須 |
サポートされる属性
attribute_name |
説明 |
attribute_value の例 |
|---|---|---|
parallel |
自動再構築の並列度。 | '20' |
rebuild_trigger_percentage |
自動再構築のトリガーしきい値。増分データがベースラインデータに占める割合を表します。値の範囲は [0, 1] です。デフォルトは 0.2(20%)です。 |
'0.5' |
rebuild_repeat_interval |
自動再構築のチェック/トリガー周期。構文は Scheduler の REPEAT_INTERVAL に類似しています。 |
'FREQ=SECONDLY; INTERVAL=600'、'FREQ=DAILY; byhour=19;byminute=45;bysecond=0' |
例
-- 再構築の並列度を設定します
CALL DBMS_VECTOR.SET_ATTRIBUTE('idx1', 't1', 'parallel', '4');
-- 再構築のトリガーしきい値を設定します(増分データがベースラインの 50% に達したときにトリガー)
CALL DBMS_VECTOR.SET_ATTRIBUTE('idx1', 't1', 'rebuild_trigger_percentage', '0.5');
-- 再構築のトリガー周期を設定します:600 秒ごとにチェック
CALL DBMS_VECTOR.SET_ATTRIBUTE('idx1', 't1', 'rebuild_repeat_interval', 'FREQ=SECONDLY; INTERVAL=600');
-- 再構築のトリガー周期を設定します:毎日 19:45:00 にチェック
CALL DBMS_VECTOR.SET_ATTRIBUTE('idx1', 't1', 'rebuild_repeat_interval', 'FREQ=DAILY; byhour=19;byminute=45;bysecond=0');
制約
- バージョンアップ後に PL 構文を有効化する:バージョンアップ後は、追加された
DBMS_VECTORPL 構文を有効にするため、システムテナントで次の文を手動で実行する必要があります。ALTER SYSTEM RUN UPGRADE JOB 'upgrade_all'; - 手動で再構築を呼び出すと並列度が上書きされる:
SET_ATTRIBUTEによってparallelをaに設定した後、手動でDBMS_VECTOR.REBUILD_INDEX(..., parallel=b)を実行した場合、この再構築では並列度bが使用され、インデックスに記録されるparallel属性も最終的にbに更新されます。