加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

复杂的数据需求的MySQL方案是啥样的

发布时间:2023-08-08 13:16:54 所属栏目:MySql教程 来源:
导读:今天就跟大家聊聊有关复杂的数据需求的MySQL方案是怎样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 前些天处理了一个需求,当时的数据库环境是O

今天就跟大家聊聊有关复杂的数据需求的MySQL方案是怎样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

  前些天处理了一个需求,当时的数据库环境是Oracle,我算是想尽了Oracle相关的方案,而且在问题的处理过程中,还在不断的琢磨,如果失败了还有什么其他的方案。

  所以尽管Oracle这么一个成熟的商业数据库,做起来还是有些难度,需要一些额外的技巧,比如规避bug,间接实现需求等。

  但是换个角度,2亿多数据的表,其实MySQL也不是新鲜事儿了。如果MySQL碰到了这种情况,该怎么处理呢。

 假设业务需求还是不变,如下:

  业务同学反馈,数据库中有一个表数据量很大,因为要做一期活动,需要近期的数据,以前的旧数据可以考虑清理。清理多少旧数据呢,差不多是99%的量,数据量有多大呢,差不多两个亿。所以这个需求听起来蛮简单,但是业务同学明确希望能够保持业务的可持续性,这样一来就对实现方案有了一些选择。

  这个看起来简单的需求,有下面的一些补充信息,数据库为MySQL 5.6,数据量有2亿,数据查询效率非常差,99%以上都是脏数据,需要清理,开发同学是根据时间范围来进行查询;表里的数据只有insert,没有update和delete。

优化查询,目前是基于时间范围来查询,经过评估需要给这个表添加索引

清理数据,表里有两亿数据,但是要清理绝大部分数据。

保证业务的可持续性,每10分钟会做一次统计分析,数据会实时录入系统

把表修改为分区表,把旧数据放入一个分区,新数据放入另一个分区,变更之后删除就分区即可

如此一来,给这个表添加索引就是亟待解决的关键问题。

MySQL里面的online DDL功能还是很不错的,对于索引的操作,5.6版本支持还是很全的。

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章