このトピックでは、DD関数の使用方法について説明します。
制限事項
- パーティション分割キーは、DATE、DATETIME、またはTIMESTAMPタイプである必要があります。
- この関数は、データベース・シャードではなく、テーブル・シャードにデータを分割する場合にのみ使用できます。
- DD関数を使用してデータをテーブルシャードに分割する場合、各データベースシャードには31個以下のテーブルシャードがあることを確認します。 これは、1か月に31日を超えることはできないためです。
- PolarDB-X 1.0インスタンスのバージョンは5.1.28-1320920以降である必要があります。.
ルーティング方法
テーブルのシャード添字を取得するには、データベースシャードキーの時間値を日で割ります。
シナリオ
DD関数は、データを日ごとにテーブルシャードに分割する必要があるシナリオに適用できます。 テーブルシャードの名前は、特定の日を示します。
例
ユーザーIDでデータをデータベースシャードに分割し、create_time
列に基づいて毎日の物理テーブルシャードを作成するとします。 次のデータ定義言語 (DDL) ステートメントを使用して、テーブルを作成できます。
テーブルtest_dd_tbを作成する (
id int,
名前varchar(30) DEFAULT NULL、
create_time datetime DEFAULT NULL、
主キー (id)
) エンジン=InnoDBデフォルト料金=utf8
HASH(id) によるdbpartition
tbpartition by DD(create_time) tbpartitions 31;