mysql优化案例:千万级数据表partition实战应用案例.docVIP

mysql优化案例:千万级数据表partition实战应用案例.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

PAGE

PAGE1

mysql优化案例:千万级数据表partition实战应用案例

目前系统的Stat表以每天20W条的数据量增加,尽管已经把超过3个月的数据dump到其他地方,但表中仍然有接近2KW条数据,容量接近2GB。

Stat表已经加上索引,直接selectwherelimit的话,速度还是很快的,但一旦涉及到groupby分页,就会变得很慢。

据观察,7天内的groupby需要35~50s左右。运营反映体验极其不友好。

于是上网有哪些信誉好的足球投注网站MySQL分区方案。发现网上的基本上都是在系统性地讲解partition的概念和种类,以及一些实验性质的效果,并不贴近实战。

通过参考MySQL手册以及自己的摸索,最终在当前系统中实现了分区,因为记录一下。

分区类型的选择

Stat表本身是一个统计报表,所以它的数据都是按日期来存放的,并且热数据一般只限于当天,以及7天内。所以我选择了Range类型来进行分区。

为当前表创建分区

因为是对已有表进行改造,所以只能用alter的方式:

ALTERTABLEstat

PARTITIONBYRANGE(TO_DAYS(dt))(

PARTITIONp0VALUESLESSTHAN(0),

PARTITIONp190214VALUESLESSTHAN(TO_DAYS(#39;2019-02-14#39;)),

PARTITIONpmVALUESLESSTHAN(MAXVALUE)

);

这里有2点要注意:

一是p0分区,这是因为MySQL(我是5.7版)有个bug,就是不管你查的数据在哪个区,它都会扫一下第一个区,我们每个区的数据都有几十万条,扫一下很是肉疼啊,所以为了避免不必要的扫描,直接弄个0数据分区就行了。

二是pm分区,这个是最大分区。假如不要pm,那你存2019-02-15的数据就会报错。所以pm实际上是给未来的数据一个预留的分区。

定期扩展分区

由于MySQL的分区并不能自己动态扩容,所以我们要写个代码为它动态的增加分区。

增加分区需要用到REORGANIZE命令,它的作用是对某个分区重新分配。

比如明天是15号,那我们要给15号也增加个分区,实际上就是把pm分区拆分成2个分区:

ALTERTABLEstat

REORGANIZEPARTITIONpmINTO(

PARTITIONp190215VALUESLESSTHAN(TO_DAYS(#39;2019-02-15#39;)),

PARTITIONpmVALUESLESSTHAN(MAXVALUE)

);

这里就涉及到一个问题,即如何获得当前表的所有分区?网上有挺多方法,但我试了下感觉还是先showcreatetablestat然后用正则匹配出所有分区更方便一点。

定期删除分区

随着数据库越来越大,我们肯定是要清除旧的数据,同时也要清除旧的分区。

这个也比较简单:

ALTERTABLEstatDROPPARTITIONp190214,p190215

文档评论(0)

177****3143 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档