Mysql 使用分割槽

2021-07-09 22:31:00 字數 1577 閱讀 3970

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分割槽時沒有...