この記事では、MySQL でパーティションを作成する 2 つの方法 (コード例) を紹介します。必要な方は参考にしていただければ幸いです。
#リスト パーティション - キーの値は、どのパーティションに書き込まれるかカスタム リストによって決定されます。
利点: int、time、varchar およびその他の値をサポートします。
欠点: 対応するデータのスレーブを自分で記述する必要があります (どのパーティションが書き込まれるかクエリされるか)。後でパーティション条件を変更した場合は、再度設定する必要があります。
#
CREATE TABLE t_test ( unid INT auto_increment , uuid VARCHAR(36), cdate datetime, type int, text varchar(30), PRIMARY KEY(unid,type) ) PARTITION BY LIST COLUMNS(type) ( #这里以type字段来分区,list分区中,这个字段可以为int整形或者某个值 PARTITION pRegion_1 VALUES IN (1), #这里的意思是,当type=1时,数据会写入到pRegion_1分区中 PARTITION pRegion_2 VALUES IN (2), #同上 PARTITION pRegion_3 VALUES IN (3), PARTITION pRegion_4 VALUES IN (4) );#ハッシュ パーティション -- ハッシュ アルゴリズムを通じてキー値が計算された後、対応するパーティションに自動的に書き込まれます。 利点: 対応するデータ スレーブを自分で記述する必要はありません (どのパーティションに書き込むかクエリするか) 欠点: int 整数型のみがサポートされます
CREATE TABLE t_test ( unid INT auto_increment , uuid VARCHAR(36), cdate datetime, type int, text varchar(30), PRIMARY KEY(unid,type) #复合主键,因为后面要用type字段来分区 ) PARTITION BY HASH ( type ) #这里以type字段来分区,type必须是主键或者是复合主键包含的字段,hash分区的方式必须该字段为int PARTITIONS 10; #这里设定的是分区数为10,数据会通过type字段经过hash算法后,自动归属到10个分区中的某个分区中
以上がmysql でパーティションを作成する 2 つの方法の紹介 (コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。