› MySQL 5.5 Community Server
› MySQL 5.6 Community Server
› Percona Configuration Wizard
› XtraBackup 搭建主从复制
Great Sites on MySQL
› Percona
› MySQL Performance Blog
› Severalnines
推荐管理工具
› Sequel Pro
› phpMyAdmin
推荐书目
› MySQL Cookbook
MySQL 相关项目
› MariaDB
› Drizzle
参考文档
› http://mysql-python.sourceforge.net/MySQLdb.html
liubx
V2EX  ›  MySQL

## 各位,我有一个业务上的问题想请教下大家。

  •  
  •   liubx · Apr 25, 2020 · 4522 views
    This topic created in 2343 days ago, the information mentioned may be changed or developed.

    现在有一个统计用户订单金额和提成的功能,根据用户首单时间来判断用户的订单是新用户订单还是老用户订单。

    我现在实现的方法是,把订单表和退单表全部存到一个新的统计表中,在操作这个统计表来区分新订单和老订单。

    然后之后的业务操作都根据这张统计表来查询。

    • 现在有两个问题:
      • 1 、请问把订单和退单存到统计表这步有没有什么问题,能不能优化下,因为现在定时任务统计一次很慢。
      • 2 、请问之后的统计查询。是用视图,还是用中间表,还是重新建张表存储对应的数据?
    10 replies  •  2020-04-26 16:18:52 +08:00
    xizismile
        1
    xizismile  
       Apr 25, 2020 via Android
    根据用户首单时间来判断用户的订单是新用户订单还是老用户订单

    是否是新用户能不能单独存一张表或者存到用户表的字段里?不用每次都拿订单来计算
    huang7230468
        2
    huang7230468  
       Apr 25, 2020
    我觉得首先应该确认下在业务上,用户先下单然后再退单,那么该用户还是否是新用户了?
    MikeLei
        3
    MikeLei  
       Apr 25, 2020
    一点不成熟的想法:
    单独一个表专门记录首单优惠。
    一个总订单表,这个表里面包含退单,完成单,取消单等等,再根据不同订单状态分拆分几个订单表,这时候就是一条数据至少存储在两个表上,一个是总订单表,一个是相对应状态的订单表,感觉这样速度应该会快很多。
    xizismile
        4
    xizismile  
       Apr 25, 2020 via Android
    @huang7230468 这样一想。把业务改成新用户发张优惠券更方便一些,就不用考虑首单还是不首单了。
    Jooooooooo
        5
    Jooooooooo  
       Apr 26, 2020
    统计的可以定时任务跑
    liubx
        6
    liubx  
    OP
       Apr 26, 2020
    @xizismile 我现在有一张订单统计表,有字段表示订单是新订单还是老订单了。
    liubx
        7
    liubx  
    OP
       Apr 26, 2020
    @huang7230468 这个的逻辑是这样的。首先用户下的第一单就是首单(付款成功的订单)。如果订单跟首单比较超过 3 个月就是老订单了,否则就是新订单
    liubx
        8
    liubx  
    OP
       Apr 26, 2020
    @MikeLei 我现在就是这样的,订单和退单都存到一张订单统计表中,根据字段区分是新订单还是老订单。但是这种方式,数据多了就会很慢
    liubx
        9
    liubx  
    OP
       Apr 26, 2020
    @xizismile 这个不能改的。。。我只负责统计
    liubx
        10
    liubx  
    OP
       Apr 26, 2020
    @Jooooooooo 嗯,现在就是定时任务跑,就是一次得 5 分钟。如果之后数据多了,估计会更慢了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2520 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 01:44 · PVG 09:44 · LAX 18:44 · JFK 21:44
    ♥ Do have faith in what you're doing.