mysql一个表记录硬件发来的数据 现在每天几乎100万的数据插入,数据过大后如何处理?

    如题目所说,这样一个月下去就是3千万起步了,业务需求还需要根据时间搜索,比方说搜索三个月内的数据,如果进行分表,怎么进行时间搜索查询呢?数据每天还在添加,什么情况下新建表?分表操作需要定时完成吗?还是手动去完成。完成和如何进行时间查询,如果分的表太多,比如几十个难道查询的时候需要关联几十个表吗?
阅读 3.1k
6 个回答

可以用mysql自带的partition,无需改动业务代码,只需一条sql即可,然后mysql底层会根据你的规则自动创建很多分表文件,很适合带时间维度的检索(相当于定位到哪个分片文件,然后查询性能只和该文件大小有关)

这些数据是存在一个表里面的吗?1天100w的数据,每天建一张新表是ok的。而且最好把老的数据剔除出去(比如将3个月之前的数据),放到其他机器上保存,这些老数据查询的频度应该不高,性能差一点我觉得可以接受。

具体看表结构,都能索引优化的话几千万不是问题。 热门查询靠缓存

分区非常适合你的业务需求

用oracle

新手上路,请多包涵

这是要上ELK节奏,专门应付这种业务

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题