1. 程式人生 > >mysql--hash--key分割槽

mysql--hash--key分割槽

hash分割槽
Hash分割槽主要用來確保資料在預先確定數目的分割槽中平均分佈,Hash括號內只能是整數列或返回確定整數的函式,實際上就是使用返回的整數對分割槽數取模。

要使用HASH分割槽來分割一個表,要在CREATE TABLE 語句上新增一個“PARTITION BY HASH (expr)”子句,其中“expr”是一個返回一個整數的表示式。它可以僅僅是欄位型別為MySQL整型的一列的名字。此外,你很可能需要在後面再新增一個“PARTITIONS num”子句,其中num是一個非負的整數,它表示表將要被分割成分割槽的數量。

如果沒有包括一個PARTITIONS子句,那麼分割槽的數量將預設為1

create table staff_hash(
id int not null,
fname varchar(30),
lname varchar(30),
hired date not null default ‘1970-01-01’,
separated date not null default ‘9999-12-31’,
job_code int not null default 0,
store_id int not null default 0
)
partition by hash(store_id)
partitions 4;

create table staff_hash1(
id int not null,
fname varchar(30),
lname varchar(30),
hired date not null default ‘1970-01-01’,
separated date not null default ‘9999-12-31’,
job_code int not null default 0,
store_id int not null default 0
)
partition by hash(store_id);