This topic created in 2446 days ago, the information mentioned may be changed or developed.
- 这个表是战斗记录表 关键的几个字段有
pid,war_start_time,war_id,team_id。
- 对于这张表有两种查询方式,根据
war_start_time倒序查询指定pid的数据,以及根据war_id=? and team_id=?的形式查询玩家所在队伍的数据。
- 现在这张表有 10 亿的数据,在不根据时间清理数据的情况下,有什么分表的方案吗?
- 目前想到的是,可以根据
war_id进行 hash,不过这样在查询单个玩家的数据的时候,就得汇总所有分表的查询结果,而且分成几个表也不好定。
Supplement 1 · Sep 26, 2019
忘了说,根据 PID 查询时需要分页。
8 replies • 2019-09-26 17:35:21 +08:00
 |
|
1
sadfQED2 Sep 26, 2019 via Android 1
根据 pid 建立一个索引表用 pid 分表,再根据 war_id 和 team_id 建立一个索引表,用 war_id+team_id 分表,索引表可以分 1024 张,根据 pid 查询的时候有 pid 索引表,根据 war_id+team_id 查询的时候走 war_id+team_id 的索引表
|
 |
|
2
boyhailong Sep 26, 2019 1
“war_start_time 倒序查询指定 pid 的数据”,什么功能需求需要直接从数据库这么查数据,实时性要求高吗 “ar_id=? and team_id=?” 这么多需求,先设置索引再说
|
 |
|
7
wysnylc Sep 26, 2019
一致性哈希分库分表解决数据量大问题,热点数据额外存储解决一致性哈希无法区分冷热数据问题
|