Maison >base de données >tutoriel mysql >Introduction à deux façons de créer des partitions dans MySQL (exemples de code)
Ce que cet article vous apporte est une introduction aux deux façons de créer des partitions dans MySQL (exemples de code). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.
Partition #list - la valeur de la clé est écrite sur quelle partition est déterminée par une liste personnalisée.
Avantages : prend en charge int, time, varchar et d'autres valeurs
Inconvénients : vous devez écrire vous-même l'esclave des données correspondantes (quelle partition est écrite ou interrogée), c'est-à-dire si les conditions de la partition sont modifiées ultérieurement, elle doit être à nouveau configurée.
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) );
Partition #hash - une fois la valeur de la clé calculée via l'algorithme de hachage, elle est automatiquement écrite sur la partition correspondante.
Avantages : vous n'avez pas besoin d'écrire vous-même l'esclave de données correspondant (quelle partition écrire ou interroger)
Inconvénients : ne prend en charge que le type entier 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个分区中的某个分区中
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!