表のパーティション数を確認する

表の作成時、パーティションは1つです。ALTER TABLE ... ADD COLUMNを使用して新しい列を追加すると、新しいパーティションが表に追加されます。1回のALTER TABLE ... ADD COLUMN文で複数の列を追加した場合、追加されるパーティションは1つのみです。

表当たりのパーティション数の制限は999です。この数を超えるとエラー8204が生成されます。新しいパーティションそれぞれに対して追加の読取りが行われるため、新しいパーティションのパフォーマンスがそれぞれ少し低下します。パーティション数は多くしないようにする必要があります。複数のパーティションを持つレプリケートされた表では、サブスクライバ側で更新を行うたびにパーティション数に比例して追加の領域が使用されます。このため、サブスクライバではマスターより少し多くの永続領域が使用される場合があります。

各表のパーティション値は、システム表SYS.TABLESの列SYS16で追跡されます。表のパーティション数は、次の問合せで取得します。

SELECT tblname, sys16 FROM SYS.TABLES;

表に含まれるパーティションが多すぎることが検出された場合は、次のいずれかを行います。

  • 表の再作成。

  • 表の保存およびリストア。ttMigrate -cを使用して、移行ファイルを作成します。その後、ttMigrate -r -relaxedUpgradeを使用して、パーティションを追加せずに表をリストアします。

ALTER TABLE ... DROP COLUMNでは、表からパーティションは削除されません。レプリケートされたシステムでは、-relaxedUpgradeオプションを使用してすべてのマスター・データベースおよびサブスクライバ・データベースを移行する必要があります。異なるパーティション構造の表では、レプリケーションは発生しません。