この記事が役立つと思います: http://www.ibm.com/developerworks/data/library/techarticle/0212wieser/index.html
大きなテーブルを別のバッファー プールに移動すると、パフォーマンスが向上する可能性がありますが、ユース ケースによって異なります。記事からの関連する引用:
複数のバッファー プールを使用すると、バッファー内のデータを保持できます。たとえば、非常に頻繁に使用される小さなテーブルが多数含まれるデータベースがあるとします。これらのテーブルは通常、非常に迅速にアクセスできるように全体がバッファー内にあります。また、同じバッファー プールを使用し、合計バッファー サイズよりも多くのページを読み取る非常に大きなテーブルに対してクエリを実行する場合もあります。このクエリを実行すると、非常に頻繁に使用される小さなテーブルのページが失われるため、再度必要になったときに再度読み取る必要があります。小さなテーブルに独自のバッファー プールがあり、そのために独自のテーブル スペースが必要な場合、それらのページは大きなクエリで上書きできません。これにより、システム全体のパフォーマンスが向上する可能性がありますが、大規模なクエリにわずかな悪影響が及ぶことになります。
これを行うことにした場合、テーブルスペースごとに 1 つのバッファー プールしか持つことができないため、大きなテーブルを独自のテーブルスペースに移動する必要があります。この記事では、テーブルスペースとバッファー プールの作成例を示します。
を使用して、テーブルを別のテーブルスペースに移動できますADMIN_MOVE_TABLE
。危険だとは思いません。移動中にソース テーブルに加えられる可能性がある変更をキャプチャします。唯一のことは、移動中にソース テーブルでいくつかの (めったに使用されない) アクションを無効にすることです。
CREATE TABLESPACE
orALTER TABLESPACE
ステートメントで指定することにより、バッファ プールをテーブルスペースに割り当てます。