MySQL分区和ORACLE相比有哪些不足

分库、分表、分区的操作在各种数据库都可以做。由于数据库不同的原因,很多的内部实现和我们要综合考虑的地方都因此不同。
现在很多公司都在用多种数据库,大家没什么发现分区分表在mysql里不如其它数据库的地方?

参与24

3同行回答

y18511664518y18511664518技术总监长城超云
MySQL的分区主要有两种形式:水平分区和垂直分区水平分区(HorizontalPartitioning)这种形式的分区是对根据表的行进行分区,通过这样的方式不同分组里面的物理列分割的数据集得以组合,从而进行个体分割(单分区)或集体分割(1个或多个分区)。所有在表中定义的列在每个数据集中都能找到...显示全部

MySQL的分区主要有两种形式:水平分区和垂直分区
水平分区(HorizontalPartitioning)
这种形式的分区是对根据表的行进行分区,通过这样的方式不同分组里面的物理列分割的数据集得以组合,从而进行个体分割(单分区)或集体分割(1个或多个分区)。
所有在表中定义的列在每个数据集中都能找到,所以表的特性依然得以保持。水平分区一定要通过某个属性列来分割。常见的比如年份,日期等。
垂直分区(VerticalPartitioning)
这种分区方式一般来说是通过对表的垂直划分来减少目标表的宽度,使某些特定的列被划分到特定的分区,每个分区都包含了其中的列所对应所有行。
可以用 showvariables like '%partition%';
命令查询当前的mysql数据库版本是否支持分区。
分区的作用:数据库性能的提升和简化数据管理
在扫描操作中,mysql优化器只扫描保护数据的那个分区以减少扫描范围获得性能的提高。
分区技术使得数据管理变得简单,删除某个分区不会对另外的分区造成影响,分区有系统直接管理不用人工干预。
mysql从5.1版本开始支持分区。每个分区的名称是不区分大小写。同个表中的分区表名称要唯一。
二、 mysql分区类型
根据所使用的不同分区规则可以分成几大分区类型。
RANGE 分区:
基于属于一个给定连续区间的列值,把多行分配给分区。
LIST 分区:
类似于按RANGE分区,区别在于LIST分区是基于列值匹配一个离散值集合中的某个值来进行选择。
HASH分区:
基于用户定义的表达式的返回值来进行选择的分区,该表达式使用将要插入到表中的这些行的列值进行计算。这个函数可以包含MySQL中有效的、产生非负整数值的任何表达式。
KEY
分区:类似于按HASH分区,区别在于KEY分区只支持计算一列或多列,且MySQL服务器提供其自身的哈希函数。必须有一列或多列包含整数值。
复合分区:
基于RANGE/LIST 类型的分区表中每个分区的再次分割。子分区可以是 HASH/KEY 等类型。
上边说了一下mysql分区,但是现在在实际生产环境中体现出来的并不能像oracle那样分区以后能增加并发量,数据量,mysql的分区能在一定程度上提高性能,方便管理,还有待完善。结合分表,读写分离等方案会更好一些。

收起
金融其它 · 2017-07-05
浏览3001
renou2012renou2012数据库管理员KE
个人觉得,目前mysql的分区分表功能还不是完善,但是常用的range,list,hash,key加上组合分区,已经可以满足大部分的需求了,在加上日常的增删合并交换功能,已经适应大部分场景,至于不足的地方比如不支持自动新增分区,没有所谓的全局索引,对分区键的要求比较高,分区不宜过多等...显示全部

个人觉得,目前mysql的分区分表功能还不是完善,但是常用的range,list,hash,key加上组合分区,已经可以满足大部分的需求了,在加上日常的增删合并交换功能,已经适应大部分场景,至于不足的地方比如不支持自动新增分区,没有所谓的全局索引,对分区键的要求比较高,分区不宜过多等

收起
金融其它 · 2017-07-05
浏览3187
冯帅冯帅数据库管理员贝壳金服
正如前面几位所说的,从功能性上说并没有什么太大区别,即使目前没有未来的版本也会加上,主要的问题是性能,总体而言,无论是查询还是增删改,性能都不是太好,特别是并发情况下,不过总的来说,结合你的业务在代码改动较小的情况下 ,利用MySQL,性能并不是太差。...显示全部

正如前面几位所说的,从功能性上说并没有什么太大区别,即使目前没有未来的版本也会加上,主要的问题是性能,总体而言,无论是查询还是增删改,性能都不是太好,特别是并发情况下,不过总的来说,结合你的业务在代码改动较小的情况下 ,利用MySQL,性能并不是太差。

收起
融资租赁 · 2017-07-12
浏览2328

提问者

冯帅
数据库管理员贝壳金服

问题来自

相关资料

问题状态

  • 发布时间:2017-07-05
  • 关注会员:5 人
  • 问题浏览:6908
  • 最近回答:2017-07-12
  • X社区推广