pid
,war_start_time
,war_id
,team_id
。war_start_time
倒序查询指定pid
的数据,以及根据war_id=? and team_id=?
的形式查询玩家所在队伍的数据。war_id
进行 hash,不过这样在查询单个玩家的数据的时候,就得汇总所有分表的查询结果,而且分成几个表也不好定。 1
sadfQED2 2019-09-26 12:02:13 +08:00 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 2019-09-26 12:06:54 +08:00 1
“war_start_time 倒序查询指定 pid 的数据”,什么功能需求需要直接从数据库这么查数据,实时性要求高吗
“ar_id=? and team_id=?” 这么多需求,先设置索引再说 |
3
boyhailong 2019-09-26 12:07:30 +08:00
@sadfQED2 感觉楼主不懂数据库设计 在这求方案
|
4
Raymon111111 2019-09-26 13:12:19 +08:00 1
再加上用玩家 id 分表
|
6
zdt3476 OP @boyhailong 我没说清楚,因为有分页查询的需求,索引肯定是有加的。 确实对数据库不熟,来求方案的。
|
7
wysnylc 2019-09-26 14:56:23 +08:00
一致性哈希分库分表解决数据量大问题,热点数据额外存储解决一致性哈希无法区分冷热数据问题
|
8
jrient 2019-09-26 17:35:21 +08:00
按照时间分呢?
|