做一个大量用户的历史记录在线同步,用mysql,是为每个用户建一个Table效率高还是在一个Table里用UID标识不同用户效率高
两个都不好,可以基于uid哈希分表 或基于时间线哈希分表。看具体需求定义
■网友
这个"大量"究竟是哪个数量级, 一万, 十万, 百万, 千万? 大概每个用户的数据量是多大活跃用户和非活跃用户的比例如何? 数据的读写比是如何, 是大量的读少量的写, 还是经常写但是很少读? 要提供什么功能? 如果只是简单的存储和读取历史记录, 可以考虑Key-Value数据库, 如果要做分析, 是否会有跨用户的查询?也许这些情况都不明朗, 但是要先考虑下.不过直觉告诉我, 楼主的大量用户不会大到哪里去, 所以随便怎么设计应该都能凑合
■网友
具体要看你需要实现的功能和设计架构以及用户数量了。如果你是为海量用户实现各用户不同的复杂功能,则为每个用户建独立表更好。这样可以将用户根据ID或区域等分布到不同的多台Mysql服务器上,便于优化、管理和容错。要是只计划有少量的用户和数据和功能并以价格为标杆,并且数据一台服务器就能处理,那么楼上两位说的为真。
■网友
太多的表或者太多的列,都会影响到效率. 为每个用户建一个表一般在设计中不采用.
推荐阅读
- 它浑身是毒,入侵我国却被大量种植,如今年产量高达55万吨
- 同比■同比增长7.1%!2021年的第一个节你花了多少钱?
- “他是我第一个会说普通话的老师”:一对师生折射青海山村蝶变
- 广东警方曝光38款存在超范围收集用户信息违规行为App
- 有必要重新开个C店吗
- 大学再有三个月就结束了,没学到知识,参加一个软件测试培训机构好吗
- 为啥工商银行的用户体验如此之差
- 汽车|长安UNI-K又将开创一个新的"引力"纪元?
- 电池|享域混动 为了满足用户需求 优惠1.5万
- 神话|武汉传奇父亲:一个平行班孩子创造的高考神话(感动上万家长)
