一开始系统可能不存储“登录数据”,但是没过多久产品经理要分析“单位时间内用户登录数”,那此时应该对每次用户登录请求进行记录,根据数据库是不是为业务所用分为两种方案:1. 在业务数据库中建 login_time_log 表,只做 append 操作; 2. 在数据分析建表,与业务数据隔离
但之后产品经理都提出了需求,对“三日内未登录过的用户进行消息推送”,那此时“用户登录时间”的数据又算是业务数据了,如果采用上述方案一,那么每次都要 SELECT * FROM login_time_log ORDER BY login_time DESC LIMIT 1,性能会不会比较差;如果采用上述方案二,那么是不是要在业务表里加一个 last_login_time 的字段,这样的话就需要额外维护,而且在一定程度上也算“数据冗余”
想向各位经验丰富见多识广的老哥们取取经🙏🙏🙏