mysql分割槽可以提高資料處理的並行能力,可以提高效能。
一:優點
1 把乙個大表分成若干個小表,可以儲存更多的資料。
2 分割槽鍵作為查詢條件,直接去某個分割槽查詢,提高查詢效率。
3 聚合函式可以在各個分割槽上並行執行,提高了聚合效率。
4 刪除乙個分割槽的資料,比在表中刪除這些資料快的多。
二 分割槽方式
1 range 分割槽,分割槽鍵取值是乙個範圍。加 columns支援非整形字段作為分割槽鍵和多字段做為分割槽鍵。
create table tab_1(
id int
)partition by range (id)(
partition p0 values less than (10),
partition p1 values less than (maxvalue)
)2 list 分割槽 分割槽鍵取值連續。。加 columns支援非整形字段作為分割槽鍵和多字段做為分割槽鍵。
create table m_1(
id int
)partition by list (id)(
partition p0 values in (1,2),
partition p1 values in (3)
)3 hash 分割槽,按照一定演算法,資料均衡的分散在各個分割槽。分割槽鍵只能是整型。
create table m_2(
id int
)partition by hash (id) partitions 2
4 key 分割槽 類似hash分割槽 支援非整型作為分割槽鍵。
create table m_3(
id int,
c1 varchar(10)
)partition by key (c1) partitions 2
三 對null的處理
range分割槽null作為最小值。
list 分割槽若有null需要列舉出來。
hash和key需要null做0處理
四 管理分割槽
1 range和list分割槽的管理
刪除分割槽也會刪除分割槽的資料。
刪除和新增:
alter table tab_1 drop partition p1
alter table tab_1 add partition (partition p2 values less than (20))
拆分和合併
alter table tab_1 reorganize partition p2 into (
partition p5 values less than(15),
partition p6 values less than (20)
)alter table tab_1 reorganize partition p5,p6 into(
partition p2 values less than (20)
)2 管理hash分割槽
減少分割槽的數量 alter table m_2 coalesce partition 1
增加分割槽的數量 alter table m_2 add partition partitions 8
Mysql分割槽表使用
一 什麼是分割槽表 分割槽表就是按一定規則將一張表分割成多個部分,達到和物理分表同樣的效果,但操作起來更 簡單,不同於物理分表那樣使用時還需要指定使用的資料表。對於使用者來說和操作普通表無差別。二 優勢與限制 1 優勢 2 限制 三 分割槽型別 1 range分割槽 基於乙個給定連續區間範圍,把資料...
mysql分割槽邊 mysql分割槽
檢視資料庫版本是否支援分割槽 分割槽的四種型別 range分割槽 範圍分割槽,根據某個欄位的值來進行分割槽,某個連續的區間來進行區分 建立表時分區create table teacher id varchar 20 not null name varchar 20 age varchar 20 bi...
MySQL 分割槽key MySQL KEY分割槽
介紹 key分割槽和hash分割槽相似,但是key分割槽支援除text和blob之外的所有資料型別的分割槽,而hash分割槽只支援數字分割槽,key分割槽不允許使用使用者自定義的表示式進行分割槽,key分割槽使用系統提供的hash函式進行分割槽。當表中存在主鍵或者唯一鍵時,如果建立key分割槽時沒有...