這篇文章帶給大家的內容是關於mysql 建立分割區的兩種方式介紹(程式碼範例),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
#list分區--鍵值透過自訂的list來決定寫入到哪個分區。
優點:支援int,時間,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) );
#hash分區--鍵值透過hash演算法計算後,自動寫入到對應的分區中 。
優點:不需要自己寫對應資料的從屬(寫入或查詢到哪個分割區)
劣勢:只支援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 建立分割區的兩種方式介紹(程式碼範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!