3.6.ベールを脱いだアクセスパスの神秘(2) |
重複キーのキーに無い部分の並び方に関して、私は間違えた考えを持っていました。FIFOになると思っていたのですが、無指定の場合は保証されないようです。また、無指定だと、より多く共用アクセスパスも出来てしまうようです。以下はマニュアルからの引用です。 AS/400 DB2/400 データベース・プログラミング バージョン 3 資料番号
SC88-5326-00
|
重複するキーの配列: DDS で UNIQUE
キーワードを指定しない場合には、重複するキーの値を持つレコードがあったときに、これらをシステムがどのように記憶するかを指定することができます。重複するキーの値を持つレコードは、以下のいず れかの方法でアクセス・パスに記憶するよう指定できます。 後入れ先出し (LIFO)。LIFO キーワードが指定された ( 1 )
場合、重複するキーの値を持つレコードは、レコードの物理的順序により後入れ先出しの順序で検索されます。以下の例は、LIFO
キーワードを使用する DDS を示していま A* ORDERP2 A (1) LIFO A R ORDER2 A . A . A . A K ORDER A 先入れ先出し (FIFO)。FIFO キーワードを指定すると、重複するキーの値を持つレコードは、レコードの物理順序によって、先入れ先出しの順番で検索されます。 変更順検索 (FCFO)。FCFO キーワードを指定すると、重複するキーの値を持つレコードは、キーの物理順序によって、先変更先出しの順番で検索されます。 重複キー・フィールドの特定順序なし(省略時値)。FIFO、FCFO、またはLIFO
のキーワードをまったく指定しない場合には、重複するキー・フィールドを持つレコードを検索する順序が保証されません。これによって、さらに多くのアクセス・パスが共用されることになり、パフォーマンスが向上する場合もあります。アクセス・パスの共用の詳細については、トピック1.3.2.2の『既存アクセス・パスの使用』
を参照してください。 |
以前にあった、暗黙のアクセスパスの問題は、無指定の重複キーのため、マニュアルのあるように、共用の対象になりやすくなるようです。FIFOにしたい場合は、明示的に指定しなくてはなりません。気をつけましょう。
この件について、2二人の訪問者の方から、ご指摘を頂きました。ありがとうございます。
以上
You are at K's tips-n-kicks of AS/400
|
SEO | [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送 | ||