1.mysql分區處理分區字段NULL值的方式 1.range分區null被當作最小值處理 2.list分區null值必須被枚舉出來,否則將出錯 3.hash/key分區 null值當作0處理 2.RANGE && LIST 分區管理 1.刪除分區 alter table emp drop partition p0; //刪除emp的p0分區,注意也會同時刪除該分區的數據 2.增加分區 alter table emp add partition (partition p5 values less than(5000)); //不能增加已存在分區名的分區 //range分區不能添加比目前最大分區的最大值小的分區,例如目前p4分區最大值為6000,那麼p5添加成5000就會報錯的 //list分區不能添加已經在其他分區有枚舉數據的分區,例如p4包含了'PHP'這個,那麼P5就不能再包含'PHP'了 3.重定義分區(range) alter table emp reorganize partition p5 into ( partition p5 values less than (3000), partition p6 values less than (4000), partition p7 values less than (5000) ); //原本p5分區的最大值為5000,現在將p5拆分成p5,p6,p7 各存放一千 //拆分分區只能拆成相鄰,不能是p5,6,8... //拆分分區不能改變原本分區的模式,比如range不能拆成list 4.重定義分區(list) alter table emp reorganize partition p4,p5,p6 into { partition p4 values in (1,2,3,4,5,6,7,8,9,10) ); //比如之前的p4p5p6包含了1234567810這10個數字,那麼現在全部歸納到p4中來 //list不支持range的分區功能,但可以通過拆分跟添加來實現重分區 3.HASH && KEY 增加分區 alter table emp coalesce partition 3; 給emp表刪除2個分區 //注意會刪除數據 alter table emp add partition partitions 8 ;//增加8個分區