文档章节

mysql 表分区技术

q
 qweasfzxc880
发布于 2016/02/25 17:10
字数 505
阅读 99
收藏 9
,是指根据一定规则,将数据库中的一张表分解成多个更小的,容易管理的部分。从逻辑上看,只有一张表,但是底层却是由多个物理分区组成。
   今天,我通过查阅相关资料与动手操作,学习了一下数据库表分区的技术。个人理解,

  分区表的限制因素

  a.一个表最多只能有1024个分区

  b.MySQL5.1中,分区表达式必须是整数,或者返回整数的表达式。在MySQL5.5中提供了非整数表达式分区的支持。

  c.如果分区字段中有主键或者唯一索引的列,那么多有主键列和唯一索引列都必须包含进来。即:分区字段要么不包含主键或者索引列,要么包含全部主键和索引列。

  d.分区表中无法使用外键约束

  e.MySQL的分区适用于一个表的所有数据和索引,不能只对表数据分区而不对索引分区,也不能只对索引分区而不对表分区,也不能只对表的一部分数据分区。


  如何判断当前MySQL是否支持分区

  命令:show variables like ‘%partition%‘

    

   其中 Variable_name 的Value = 1,我测试过了,表示可以正常分区的。我数据库的版本是:

   


    MySQL支持的分区类型有RANGE分区,LIST分区,HASH分区,KEY分区。其中RANGE,LIST,HASH分区等一般使用Int类型,KEY分区使用BLOB,TEXT类型等。

然后采取第二种用法,如图所示:

   

   
    分区成功了,呵呵呵!

  

 有几点注意:
 a. 对于分区s1,表示 1 不管哪种分区类型,,除非两者都没有,否者将会报如下错误。

如果是将注册日期作为分区键,则须要使用日期处理函数转换为整型,例如year(regDate),to_days(regDate),to_seconds(regDate),且只支持这三个函数。


获取【下载地址】 

© 著作权归作者所有

q
粉丝 0
博文 3
码字总数 1239
作品 0
福州
私信 提问
MySql,Sql Server分区技术浅析

一.MySql MySql在5.1以后的版本中加入了分区技术,其不同于以往的分表技术,之前的分表技术是把一张大的表水平(按照一定的逻辑)分成多张表,比如如果我们的User表中有1000万条数据,那如果...

wbf961127
2017/11/12
0
0
MySQL表分区优势及分类简析 MySQL DBA学习

表分区是将一个表的数据按照一定规则水平划分成不同的逻辑块,并分别进行物理存储,这个规则就叫做分区函数,可以有不同的分区规则。通过show plugins语句查看当前MySQL是否支持表分区功能。...

mo默瑶
2018/05/24
0
0
MySQL表分区类型简析 数据库周末提升

  表分区是将一个表的数据按照一定规则水平划分成不同的逻辑块,并分别进行物理存储,这个规则就叫做分区函数,可以有不同的分区规则。通过show plugins语句查看当前MySQL是否支持表分区功...

zhouzhou2018
2018/05/24
1
0
mysql —— 分表分区

面对当今大数据存储,设想当mysql中一个表的总记录超过1000W,会出现性能的大幅度下降吗? 答案是肯定的,一个表的总记录超过1000W,在操作系统层面检索也是效率非常低的 解决方案: 目前针对...

zyt_1978
2016/07/06
38
0
优秀后端架构师必会知识:史上最全MySQL大表优化方案总结

本文原作者“ manong”,原创发表于segmentfault,原文链接:segmentfault.com/a/1190000006158186 1、引言 MySQL作为开源技术的代表作之一,是互联网得以广泛流行的重要基础技术之一。 国外...

JackJiang2011
2018/12/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Linux 运行shell文件,出现 $'\r': command not found

运行编写的shell脚本时,出现了 $'\\r': command not found 这样的错误提示。 报错的原因是我们在windows系统操作时,编辑器里的换行符是\r\n ,而Linux上为\n,两个系统之间有差异导致的。 ...

芥末无敌
今天
10
0
Java数据结构(上)

枚举(Enumeration) 位集合(BitSet) 向量(Vector) 栈(Stack) 1.Enumeration(枚举) boolean hasMoreElements( ):测试是否有更多的元素 Object nextElement( ):如果此枚举对象至少还...

Firefly-
昨天
16
0
vue 跨层组件通讯 provide inject

https://cn.vuejs.org/v2/api/#provide-inject 类型: provide:Object | () => Object inject:Array<string> | { [key: string]: string | Symbol | Object } 详细: provide 和 inject 主......

阿豪boy
昨天
14
0
黑马程序员面试宝典(Java)Beta6.0免费下载

场景 JavaSE基础 面向对象特征以及理解 访问权限修饰符区别 理解clone对象 JavaSE语法 java有没有goto语句 &和&&的区别 如何跳出当前的多重嵌套循环? 是否可以继承String? 重载与重写的区别...

badaoliumang
昨天
14
0
监控linux系统状态

查看系统负载: w/uptime 最后面三个数字表示1分钟,5分钟,15分钟平均有多少个进程占用CPU 占用CPU的进程可以是Running,也可以是Waiting 某一时刻1颗CPU只能有一个进程在使用其资源 #查看c...

asnfuy
昨天
14
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部