Babelfish でのパーティショニングについて
バージョン 4.3.0 以降、Babelfish はサポートが制限されたテーブルとインデックスのパーティショニングを導入しました。以下のセクションでは、パーティション関数の作成、パーティションスキームの定義、Babelfish でのパーティションテーブルとインデックスの実装について詳しく説明します。
Babelfish でのパーティショニングの紹介
-
パーティション関数:
-
CREATE PARTITION FUNCTION:
パーティション分割列タイプと各パーティションの値の範囲を指定して、テーブルまたはインデックスをパーティション分割する方法を定義します。 -
DROP PARTITION FUNCTION:
既存のパーティション関数を削除します。
-
-
パーティションスキーム:
-
CREATE PARTITION SCHEME:
パーティションとファイルグループ間のマッピングを定義します。注記
Babelfish では、ファイルグループはダミーオブジェクトとして扱われ、物理的なストレージの場所を表すものではありません。
-
DROP PARTITION SCHEME:
既存のパーティションスキームを削除します。
-
-
システム関数:
-
$PARTITION:
このシステム関数は、パーティショニング列内の指定された値が、指定されたパーティションテーブルに属するパーティション番号を返します。
-
-
パーティションテーブルとインデックス:
-
CREATE TABLE ... ON partition_scheme_name (partition_column_name):
指定されたパーティションスキームとパーティション列に基づいてパーティションテーブルを作成します。 -
CREATE INDEX ... ON partition_scheme_name (partition_column_name):
指定されたパーティションスキームとパーティション列に基づいてパーティションインデックスを作成します。
-
-
メタデータをパーティショニングするためのシステムビュー:
パーティショニングに関連するメタデータを提供するために、次のシステムビューが追加されました。
-
sys.destination_data_spaces
-
sys.partitions
-
sys.partition_functions
-
sys.partition_parameters
-
sys.partition_range_values
-
sys.partition_schemes
-
制限と回避策
Babelfish でのパーティショニングには、以下の制限が適用されます。
-
ALTER PARTITION FUNCTION
およびALTER PARTITION SCHEME
はまだサポートされていません。注記
Babelfish では分割またはマージオペレーションがまだサポートされていないため、パーティションの追加または削除はできず、すべてのパーティションをパーティション関数で事前に定義しておく必要があります。
-
計算列は、パーティショニング列としてまだサポートされていません。
-
INSERT BULK
およびBCP
ユーティリティは、パーティションテーブルではまだサポートされていません。 -
パーティション関数の
LEFT
境界オプションはまだサポートされていません。 -
SQL_VARIANT
データ型は、パーティション関数でまだサポートされていません。 -
TRUNCATE TABLE ... WITH PARTITION
はまだサポートされていません。 -
ALTER TABLE ... SWITCH PARTITION
はまだサポートされていません。 -
パーティションスキームやパーティションテーブルとは異なるパーティション列など、整列されていないパーティションインデックスはサポートされていません。
-
Babelfish ソースからの DMS 移行は、パーティションテーブルのフルロードタスクでのみサポートされます。
-
次の構文はまだサポートされていませんが、回避策があります。
CREATE TABLE ステートメントでの制約またはインデックスを含むパーティションスキームの使用。
ALTER TABLE ... ADD CONSTRAINT ... ON partition_scheme_name (partition_column_name)。
注記
babelfishpg_tsql.escape_hatch_storage_on_partition
エスケープハッチは無視するように設定できます。これにより、パーサーは制約またはインデックスで使用されるパーティションスキームオプションを無視でき、バックエンドは各パーティションに個別の制約またはインデックスを作成します。