Pivotal Knowledge Base

フォローする

再分散配置を用いた関係式による断片化(いわゆる肥大化)の除去方法

環境

製品 バージョン
Pivotal Greenplum(GPDB) 全てのバージョン

目的

本記事を参照される前に、テーブルの肥大化について理解するために、こちらの記事を参照することを強く推奨する。テーブル肥大化は、vacuum を使用することによっても除去可能だが、それに関連したメリット・デメリットについてはこちらの記事を参照されたい。

本記事ではテーブル肥大化の除去の一助となる、データの再分散配置を行う手順について説明する。

手順 

データの再分散配置を行う前に、テーブルの分散ポリシーを確認する必要がある。単一のテーブルのみを分散配置させている場合、最も簡単な分散ポリシーの確認方法は以下のコマンドである

\d <テーブル名>

分散配置を要するテーブルを複数保持している場合は、それらのテーブルの分散ポリシーを確認するため、こちらの記事こちらの記事で言及されているようなスクリプトを使用する。

テーブルの分散ポリシーが "random" の場合は、以下のコマンドを使用する。

alter table <テーブル名> set with (reorganize=true) distributed randomly;

対象となるテーブルが複数あるいは単一の列を元に分散配置されている場合は、以下のようなコマンドを使用することになるであろう。

alter table <テーブル名> set with (reorganize=true) distributed by (<列名 1>,<列名 2>....)

コメント

Powered by Zendesk