2014年8月5日 星期二

MySQL 建立分區

  • 建立分區時可在分區加上 DATA DIRECTORY 和 INDEX DIRECTORY 選項,將資料存在不同的硬碟分區中
  • 刪除分區時,分區內的資料也會被刪除
  • hash 和 key 類型的分區不能 REORGANIZE

分區限制:
  1. 分區欄位必須加入主鍵或唯一鍵
  2. 分區需返回 int 類型的值作爲條件判斷
  3. 一個表最多 1024 個分區

分區類型:
  • range
  • list
  • hash
  • key


// 新增分區
mysql> ALTER TABLE tbl PARTITION BY KEY(col1) PARTITIONS 5;
mysql> ALTER TABLE tbl partition by range(`day`) (
partition p_2012 values less than (20130000),
partition p_2013 values less than (20140000)
);


// 刪除分區 (刪除分區時,分區內的資料也會被刪除)
mysql> ALERT TABLE tbl DROP PARTITION p0;

//分區資料操作
mysql> ALTER TABLE tbl REBUILD PARTITION p0, p1;
mysql> ALTER TABLE tbl ANALYZE PARTITION p0, p1;
mysql> ALTER TABLE tbl OPTIMIZE PARTITION p0, p1;
mysql> ALTER TABLE tbl REPAIR PARTITION p0, p1;mysql> ALTER TABLE tbl CHECK PARTITION p0, p1;




References :
MySQL :: MySQL 5.5 Reference Manual :: 19.2 Partitioning Types
MySQL Partition | Jonathan Hui
mysql partition 分区功能使用详解-mysql教程-数据库-壹聚教程网

沒有留言:

張貼留言