程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 十五、mysql 分區之 分區管理,mysql分區

十五、mysql 分區之 分區管理,mysql分區

編輯:MySQL綜合教程

十五、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開始表分區了

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved