跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 只用到最近 3 天数据的订单表如何分表呢
未分類
25 10 月 2020

只用到最近 3 天数据的订单表如何分表呢

只用到最近 3 天数据的订单表如何分表呢

資深大佬 : TypeErrorNone 0

订单表,现在数据量很大,每天增量 10w,表用到的场景是插入,搜索三天内的数据,更新。
也就是说三天前的数据是用不到的。

如果按月分割,那么上个月最后三天的数据就操作不了,不然代码里要加很多逻辑处理。

这种情况如何分表呢?

大佬有話說 (14)

  • 資深大佬 : qiayue

    有一张实时表,所有的实时操作都在这张表操作。
    有另一个定时任务,把超过 3 天的订单移动到月表。

  • 主 資深大佬 : TypeErrorNone

    @qiayue 我也考虑过这样,innodb delete 会锁表吗

  • 資深大佬 : IMCA1024

    @TypeErrorNone 会

  • 主 資深大佬 : TypeErrorNone

    @IMCA1024 这会导致插入订单

  • 資深大佬 : Riscly

    1 、实时表 /Redis 缓存,优点:开发快,缺点:增加数据库压力
    2 、上个 elasticsearch,优点:搜得快,后续可以搞搜索也能用上,缺点:开发成本高,如果有批量修改的话还是麻烦

  • 主 資深大佬 : TypeErrorNone

    @Riscly 不想再引入 redis 进入订单

  • 資深大佬 : longchen888

    有一张实时表,所有的实时操作都在这张表操作。
    有另一个定时任务,把超过 3 天的订单移动到月表。

    ——–
    迁移数据的时候,分页(比如一页 500 条)迁移数据,迁移完后,根据 ID 批量删除,应该就不会锁表了,想快的话,就多线程迁移;缺点是慢,优点是稳

  • 資深大佬 : dorothyREN

    加一个三天的表不就行了

  • 資深大佬 : rrfeng

    那你就按天建表呗,取个约数不就不存在跨表问题了。
    并且 drop 的时候也不会锁你的业务。

  • 資深大佬 : MaxFang

    主表用于新数据插入,和最近 3 个月数据的查询。
    历史表可以按月等分表,每天脚本处理,从主表中筛选出超过 3 个月的订单数据,插入历史归中。
    如果每天都操作,每天的处理量也就一天的数据,按每天 10W 的数据来看,插入历史表和从主表删除,即使根据单个 id 来处理也完全够用。如果要加快速度,简单的方法,分页批量操作,或者按 ID 取模多脚本操作。

  • 資深大佬 : wangritian

    不用分表,计划任务凌晨随便搞

  • 資深大佬 : wangyanrui

    插个

    不要为了分表而分表,一天约十万的插入量完全可以扛得住

    产品的需求时时在变化
    不要提前优化
    不要提前优化
    不要提前优化

    建议:先抗住,量大了迁移到 TiDB 或者加个 ES

  • 資深大佬 : kanepan19

    我们当前一天 200W 的量单表也没问题.

    如果一定要分表, 可以考虑按时间分表 ,按月或者按日分表

  • 資深大佬 : fengpan567

    上 sharding jdbc,按日期分表

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具