现在有一个表,每天增加40W条数据,请问该怎么分表呢?

德玛西亚

问题描述

现在用的是laravel-orm,请问大家分表用的都是什么方法呢,是插件还是直接手写的呢,我这种表是要按日期分比较好,还是那其他的比较好呢,可能要跨月查询,但是最多不超过30天。

499 3 0
3个回答

tanhongbin

每条数据量大不大? 查询的复杂程度是多少?查询频率多大?如果比较简单的数据 每个月1000多万 一张表问题不大

  • 德玛西亚 2024-09-23

    每条数据量不大就10个字段吧,查询的物联网传感器返回的数据,查询频率很大。

  • tanhongbin 2024-09-23

    如果能走索引查询 问题也不大,数据量大不要怕 要分析是走索引查 还是全表 如果全表就不行了

  • 德玛西亚 2024-09-23

    现在我看问题是不大,我们买的阿里云的rds性能挺给力,就想咨询一下分表方案,java有分表的中间件,php是如何分表呢,手动分吗?

  • tanhongbin 2024-09-23

    这个你只能百度问一问了,我是没用过分表的中间件呀

  • 德玛西亚 2024-09-23

    好的谢谢

evilk

我们的经验是

  1. 单表,单区,索引建立好,每次查询,索引覆盖率尽量做到100%,比如联合索引(a, b, c),每次查询where条件,都尽量带上a,b,c
  2. 如果1效果不好,再尝试分区,按照时间分区,这对于业务是透明的
  3. 以上2种依然很慢,再考虑分表
软饭工程师

物联网我使用的是MongoDB,也可以考虑时序数据库,
存储方案是每个网关存储一个集合,比如1s上报一条,一天也才86400条数据

×
🔝