博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL分区表
阅读量:4961 次
发布时间:2019-06-12

本文共 1263 字,大约阅读时间需要 4 分钟。

show plugins;

查看当前库是否启用了分区功能

 

MySQL支持如下几种类型的分区

    RANGE分区:行数据基于一个给定连续范围分区

create table t(    id int(11))engine=innodbpartition by range(id)(    partition p0 values less than(10),    partition p1 values less than(20),    partition p2 values less than(MAXVALUE));create table sales(    money int(11) unsigned,    date datetime)engine=innodb    partition by range (year(date))(    partition p2017 values less than(2018),    partition p2018 values less than(2019),    partition p2019 values less than(2020));alter table sales drop partition p2018;explain partition select * from sales where date<='2018-12-31' and date>='2018-01-01;

 

    LIST分区:同RANGE,区别在于给定的不是连续范围,是离散的值

create table t(    a int(11),    b int(11))engine=innodbpartition by list(b)(    partition p0 values in(1,3,5,7,9),    partition p1 values in(2,4,6,8,10));

    

     HASH分区:根据用户自定义的表达式的返回值进行分区,返回值不能是负数

create table t(    id int(11),    date datetime)engine=innodbpartition by hash(year(date))partitions 4;

    

    KEY分区:根据MySQL内部提供的哈希函数进行分区

    KEY分区和HASH分区相似,KEY分区支持除text和BLOB之外的所有数据类型的分区,

    而HASH分区只支持数字分区,KEY分区不允许使用用户自定义的表达式进行分区,KEY分区使用系统提供的HASH函数进行分区

 

    COLUMNS分区:可以直接使用非整型的数据进行分区,分区根据类型直接比较而得,不需要转换为整型

 

    无论创建何种类型的分区,如果表中存在主键或唯一索引的列,则分区列必须是主键或唯一索引的一部分

    在没有主键和唯一索引的表中可以指定任意列为分区列

转载于:https://www.cnblogs.com/jialilue/p/11309843.html

你可能感兴趣的文章
ORACLE 10G R2_执行计划中cost cardinality bytes cpu_cost io_cost解释
查看>>
关于this和base
查看>>
本地存储
查看>>
MP3的播放与停止
查看>>
牛客(59)按之字形顺序打印二叉树
查看>>
JavaScript 图表库 xCharts
查看>>
Android项目的目录结构
查看>>
C++中“引用”的底层实现
查看>>
vuex中的dispatch和commit
查看>>
mybatis实战教程二:多对一关联查询(一对多)
查看>>
NodeMCU文档中文翻译 3 构建固件
查看>>
前端学习☞jquery
查看>>
10分钟搞懂树状数组
查看>>
Spring Cloud与微服务构建:微服务简介
查看>>
HTTP缓存和CDN缓存
查看>>
HDU-1171 Big Event in HDU(生成函数/背包dp)
查看>>
Babel 是干什么的
查看>>
cocos2dx-3.0(8)------Label、LabelTTF、LabelAtlas、LabelBMFont使用之法
查看>>
Mysql数据库乱码总结
查看>>
BZOJ.3160.万径人踪灭(FFT Manacher)
查看>>