十五、mysql 分區之 分區管理,mysql分區
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個分區
對於mysql分區與未分區速度與帶有主鍵表分區的問題
分區


些優點包括:
1)、與單

磁盤或文件系統分區相比



存儲更多

數據

2)、對於

些已經失去保存意義

數據

通常


通過刪除與

些數據有關

分區


容易地刪除

些數據

3)、

些查詢


得

極大

優化


主要

借助於滿足


給定WHERE語句

數據


只保存



或多

分區內


樣

查找時


用查找其

剩余

分區

因

分區



創建了分區表

進行修改

所


第

次配置分區方案時還

曾


做時



重新組織數據

來提高

些常用查詢

效率

4)、涉及

例

SUM()和COUNT()

樣聚合函數

查詢




容易地進行並行處理


種查詢



簡單例子

SELECT salesperson_id, COUNT (orders) as order_total FROM sales GROUP BY salesperson_id;


通過

並行



意味著該查詢



每

分區上同時進行


終結

只需通過總計所有分區得


結


5)、通過跨多

磁盤來分散數據查詢

來獲得更大

查詢吞吐量


裡有

篇文章分析

非常好

請參考:
http://www.cnblogs.com/acpp/archive/2010/08/09/1795464.html
mysql 怎給已有表分區
我也

找方法 mysql自從5.1開始



表分區了