2

これについてはよくわかりませんが、以前に読んだことがあると思います。それが正しいか間違っているかを知りたいです。

テーブルを作成するときは、最初に揮発性の列を配置し、次に静的な列を配置することをお勧めします。つまり、更新可能な列と更新不可能な列を最後に配置するということです。行が変更されるたびに、ログは古い行を書き込み、最後に更新されるまで新しい行の列を書き込むため、これはトランザクション ログのサイズを減らすのに適しています。

ID-PK, code, name , message
1    , 10 , "John Doe", "A funny message"

に更新

1    , 10 , "John Doe", "The message was changed."

この場合、ログは新しい行を完全に書き込みます。ただし、列の順序を変更すると、次のようになります。

ID-PK, message , code, name<br/>
1    , "A funny message"         , 10 , "John Doe"

に更新

1    , "The message was changed.", 10 , "John Doe"

トランザクション ログは、最後に変更された列 (1、「メッセージが変更されました。」) までのみを書き込みます。これにより、HADR を使用する場合のように、ログを書き込み、別のマシンに送信する際のパフォーマンスが向上する可能性があります。

これが本当かどうか知りたいのですが、これに関する情報はどこで入手できますか。

4

1 に答える 1

0

完全なデータ変更キャプチャーが使用可能になっていない場合、DB2 LUWログ・レコードは、データが変更される最初のバイトから始まり、データが変更される最後のバイトまで続きます。IBMは、オンライン資料の「更新ログを最小限に抑えるための列の順序付け」というタイトルのセクションで、以下の推奨事項を提供しています

頻繁に更新される列はグループ化して、テーブル定義の方向または最後に定義する必要があります。これにより、パフォーマンスが向上し、ログに記録されるバイト数が少なくなり、書き込まれるログページが少なくなり、多数の更新を実行するトランザクションに必要なアクティブログスペースが少なくなります。

于 2010-11-28T08:54:15.943 に答える