2016-05-11 190 views
1

私はOracle 12cで作業しています。このパラメータについては、Create Tableで質問したいと思います。 PCTUSED小規模指定のOracle 12 PCTUSED&PCTFREEとINITRANS&MAXTRANS

いくつかのテーブルでの私のアプリケーションは、削除と挿入の多くを行うだろう、私はこのパラメータが正しくないと思います

PCTUSED 0 
PCTFREE 10 
INITRANS 1 
MAXTRANS 255 

効果は、処理UPDATE中に発生した費用とDELETE文を減少させるが、 PCTUSEDが大きいほど、INSERTUPDATEの間に処理コストが増加します。

PCTUSEDの場合は0が正しくないと思う:PCTUSEDのデフォルト値は40%です。書類によるとDOCで

もう一つのポイント:

テーブルは、通常、同じ 時に多くのユーザによってアクセスされているものとします。この場合、高いINITRANSを使用してトランザクションのエントリ を事前に割り当てることが考えられます。これにより、オブジェクトが 使用時に必要に応じて、 にトランザクション入力スペースを割り当てるオーバーヘッドがなくなります。また、MAXTRANSを高くして、ユーザが に必要なデータブロックにアクセスするのを待つ必要がないようにします。

私の場合、多くのユーザーが同じWebアプリケーションである<が同時に動作します。

+0

正しい値は1つだけです。それが可能であれば、それは構成可能ではないだろう。特定のシナリオでどのような値を使用すべきか尋ねていますか? –

+0

はい、このreassonのために私は言っています:WebApplication <100ユーザー、スキーマ(テーブル)の半分は、インサートの削除と更新の平均が高いです。 –

+0

OKですが、それは十分な情報ではなく、とにかくこのサイトのために私は恐れている。 [this](https://docs.oracle.com/database/121/TGDBA/pfgrf_build_db.htm#TGDBA94152)、[this](https://docs.oracle.com/database/121/SQLRF/clauses007)を参照してください。 .htm)など。また、ASSMを使用しているかどうかを確認します。がんばろう。 –

答えて

0

おそらくパラメータは正常です。 Alex Pooleの言葉通り、このマニュアルのphsyical_attributes_clauseセクションを読んでください。 12cのバージョンを確認してください。質問の引用符がOracle 9iの後に消えているようです。

PCTUSEDINITRANS、及びMAXTRANSを無視:

  • PCTUSED: "このパラメータは有用ではなく、自動セグメント領域管理のオブジェクトは無視されます。"

  • INITRANS: "一般に、INITRANSの値をデフォルトから変更しないでください。"

  • MAXTRANS: "このパラメータは廃止されました。"

PCTFREEおそらく覚えておくべき唯一のパラメータであり、デフォルトは10です。

マニュアルに少し懐疑的なのは良いことです。しかし、実際の違いを実証した完全に再現可能なテストケースがなければ、これらのパラメータを変更することはありません。

関連する問題