mysql 日志表数据过大 分表如何查询?

zb1500463546173 发布于 08/16 12:44
阅读 211
收藏 0

        mysql一个表记录硬件发来的数据 现在每天几乎100万的数据插入,数据过大后如何处理?,这样一个月下去就是3千万起步了,业务需求还需要根据时间搜索,比方说搜索三个月内的数据,如果进行分表,怎么进行时间搜索查询呢?分表操作需要定时完成吗?还是手动去完成。分表完成后如何进行时间查询,如果分的表太多,比如几十个难道查询的时候需要关联几十个表吗?

加载中
0
gammey
gammey

怎么整天有人用mysql记录大量时序数据,用influxdb不好吗?

gammey
gammey
https://my.oschina.net/u/3579120/blog/1532740
0
起个起个名字都难
起个起个名字都难

我提供个思路,创建表是按照月份创建,比如sys_log_2019_08,然后带条件查询三个月的数据,从这三张表查询然后union all,再关联其他表关联查询。最后再优化一下效率

起个起个名字都难
起个起个名字都难
应该是union all放表关联后面,这样快
0
设置腾讯云vps字体可以解决验证码异常
设置腾讯云vps字体可以解决验证码异常

在确定使用数据库记录操作日志的前提下:

1、将设备数据按规则分库存储,如地区。假设30台设备每日100W日志数据,分5个库存放,平均每月每个库的日志数据600W。3个月1800W。

2、查询时,按地区查询,只查询具体某一个单库。

3、建立设备号(这个好像是废话)、创建时间等索引。

4、建立对应历史表,每日将3个月前的数据迁移到历史表,如果要查询时间跨度大于3个月的数据,单库内 union all 对应历史表。

5、历史表数据超过一年的,新建表存档(这部分数据很少用了,除硬性要求外,可以删除)

6、1-5渣渣思路,实践需谨慎。

0
mickelfeng
mickelfeng

每天一张表。查询先选择哪天

返回顶部
顶部