必要条件
- スプリットタイプのキーは、前記1 DATE / DATETIME / TIMESTAMPでなければなりません。
- DRDSインスタンスのバージョンがより5.1.28-1320920そのバージョンである必要があります。DRDSはノートでは、ドキュメントのリリースノートを参照してくださいリリース。
ルーティング
ボンドスプリットタイム応じた値年份
に月份
計算されたハッシュ値、およびポイントの数がIライブラリ、完全なルート計算を取得します。
例えば:YYYYMM( '2012年12月31日12時12分12秒は')(2012 * 12 + 12)%のD、(Dサブライブラリーの数である)に相当します。
利用シナリオ
押す必要が適しシーンサブライブラリーを、その機能がtbpartitionのYYYYMM(ShardKey)と組み合わせて使用されることをお勧めします。年份
月份
例えば、ユーザが既にDRDS 8物理ライブラリを分割することを想定し、事業は現在、次のシナリオがあります。
- 事業は、時系列でライブラリを分割したいです。
- これは、同じデータが、同じ月にサブテーブルを発生することが必要で、かつ
两年以内的每个月都单独对应一张分表
、 - 物理ライブラリクエリに直接問い合わせ、物理パーティションテーブルのポイント低下した後、サブライブラリーテーブルのキーポイントを持参してください。
そして、ユーザは、解決されたサブライブラリ関数YYYYMMを使用することができます毎月の対応の2年以内にビジネス要件は、サブテーブルに(テーブルをその月)、年は12ヶ月であるため、その少なくともあなたは、ユーザーの場面を満たすために、物理テーブルの24分を作成する必要があり、ユーザーのDRDSは、8つのサブライブラリがあり、各サブライブラリーは、3つの物理ポイントテーブルを構築する必要があります。そのため、ユーザーはDDLがあるべきビジネスシナリオに対応する必要があります。
作成 テーブルtest_yyyymm_tb( IDのINT 、 名前VARCHAR(30)DEFAULTの NULL 、 CREATE_TIMEの日時 のDEFAULT NULL 、 プライマリ キー(ID) )ENGINE = InnoDBのDEFAULT CHARSET = UTF8 DBPARTITION によってYYYYMM(CREATE_TIME) tbpartition によって YYYYMM(CREATE_TIME)tbpartitions 3。
注意事項
- YYYYMMサブテーブルに対応する各日付の独立サポートされていない、サブライブラリYYYYMMサブテーブルは、部品表の固定数でなければなりません。
- ヶ月のサイクル(例えば、サイクル2012から03 2013から03)の後に、同じことがありそうである同じ月のサブライブラリーサブテーブルにルーティングする場合、パーツテーブルの実際の数に依存してもよいです。