MySQL表分割槽

2022-01-20 00:55:03 字數 2136 閱讀 5672

1.range(範圍)

按照某個欄位的範圍進行分割槽。這種常用在時間欄位上。

create

table

article (

article_id

intnot

null

auto_increment,

article_content

varchar(1000

),article_time date

notnull

default

'1970-01-01',

key(article_id)

)engine

=innodb

partition

by range (year

(article_time)) (

partition p0

values less than (1991

),partition p1

values less than (1996

),partition p2

values less than (2001

),partition p3

values

less than maxvalue

) ;

2.hash(雜湊)

按照表中任意個int型別的字段進行分割

create

table

part_table (

id int

notnull

auto_increment,

name

varchar(30

),store_id

int,

key(id)

)engine

=innodb

partition

byhash(store_id)

partitions

4;

3.key(鍵值)

hash partition的高階版,將主鍵作為分割的標準

create

table

part_table2 (

id int

notnull auto_increment primary

key,

name

varchar(30

),store_id

int)

engine

=innodb

partition

bykey

() partitions

4;

4.list(預定義列表)

按照某個欄位有哪些值分在乙個分區內

create

table

employees (

id int

notnull

,fname

varchar(30

),lname

varchar(30

),hired date

notnull

default

'1970-01-01',

separated date

notnull

default

'9999-12-31',

job_code

int,

store_id

int)

partition

bylist(store_id) (

partition pnorth

values

in (3,5,6,9,17

),partition peast

values

in (1,2,10,11,19,20

),partition pwest

values

in (4,12,13,14,18

),partition pcentral

values

in (7,8,15,16

));

5.composite(復合模式)

mysql表分割槽全文搜尋 Mysql表分割槽

什麼時候使用分割槽 海量資料 資料表索引大於伺服器有效記憶體 分割槽的限制 大部分只能對資料表的整型列進行分割槽,或者資料列可以通過分割槽函式轉化成整型列 其中columns支援 integer string date datetime型別 最大分割槽數目不能超過1024 如果含有唯一索引或者主鍵,...

mysql表分割槽

表分割槽的優點 查詢優化 缺點 除了資料庫管理方面複雜了點,其它的還沒有發現 只有5.1及之後的版本才支付分割槽,同時5.1中分割槽的一些維護的工具還不完善 mysql目前四種分割槽 1range 根據某個列的某種運算進行分割槽,分割槽的標誌都是該列的某種運算後的連續區間 create table ...

mysql 表分割槽

修改表的主鍵 alter table tb channel pv drop primary key,add primary key id channel 測試新增分割槽和刪除分割槽 新增刪除range分割槽 1 建立乙個分割槽 create table titles emp no int not n...