mysql分割槽邊 mysql分割槽

2021-10-19 06:33:33 字數 2145 閱讀 3478

檢視資料庫版本是否支援分割槽:

分割槽的四種型別:range分割槽(範圍分割槽,根據某個欄位的值來進行分割槽,某個連續的區間來進行區分):

建立表時分區create table teacher

(id varchar(20) not null ,

name varchar(20),

age varchar(20),

birthdate date not null,

salary int

partition by range(year(birthdate))

partition p1 values less than (1970),

partition p2 values less than (1990),

partition p3 values less than maxvalue

建立表後分割槽:alter table teacher

partition by range(year(birthdate))

partition p1 values less than (1970),

partition p2 values less than (1990),

partition p3 values less than maxvalue

2.list分割槽(和range分割槽差不多,只不過range是連續的,而list是分布的雜湊值):create table student (

id varchar(20) not null ,

studentno int(20) not null,

name varchar(20),

age varchar(20) )

partition by list(studentno)

(partition p1 values in (1,2,3,4),

partition p2 values in  (5,6,7,8),

partition p3 values in (9,10,11) );

ps:如上建立表student,並將student表分為p1、p2、p3三個分割槽。需要注意的是一般情況下,針對表的分割槽欄位為int等數值型別。

3.hash分割槽(雜湊分割槽主要是依據表的某個字段以及指定分割槽的數量。create table user (

id int(20) not null,

role varchar(20) not null,

description varchar(50) )

partition by hash(id) partitions 10;

ps:如上建立user表,並將user表平均分為十個分割槽。比較有限制的就是需要知道表的資料有多少才能更好平均分配分割槽。

4.key分割槽(類似於按hash分割槽,區別在於key分割槽只支援計算一列或多列,且mysql伺服器提供其自身的雜湊函式。必須有一列或多列包含整數值。)create table role(

id int(20) not null,

name varchar(20) not null)

partition by linear key(id)partitions 10;

5、分割槽管理:

5.1)對指定表新增分割槽alter table user add partition(partition p4 values less than maxvalue);

5.2)刪除指定表指定分割槽alter table student drop partition p1;

5.3)建立子分割槽create table role_subp(id int(20) not null,name int(20) not null)

partition by list(id)

subpartition by hash(name)

subpartitions 3

partition p1 values in(10),

partition p2 values in(20)

5.4)復合分割槽alter table user

reorganize partition p1,p3 into

(partition p1 values less than (1000));

MySQL 分割槽key MySQL KEY分割槽

介紹 key分割槽和hash分割槽相似,但是key分割槽支援除text和blob之外的所有資料型別的分割槽,而hash分割槽只支援數字分割槽,key分割槽不允許使用使用者自定義的表示式進行分割槽,key分割槽使用系統提供的hash函式進行分割槽。當表中存在主鍵或者唯一鍵時,如果建立key分割槽時沒有...

mysql 分割槽管理 mysql分割槽管理

一 如何管理range和list分割槽 以該分割槽表為例 create table members id int,fname varchar 25 lname varchar 25 dob date partition by range year dob partition p0 values le...

MySQL儲存分割槽重複 mysql 分割槽

mysql分割槽 前提條件 mysql版本 5.1以上 檢視是否裝載分割槽外掛程式 show plugins name status type library license binlog active storage engine null gpl partition active storage...