假设我有一个包含三列的表
from_req_id,
to_req_id,
date
(假设有一个朋友请求发送系统),所以我在下面有问题
下面是给定表的表架构,假设说的是friend_requests,该表基于from_req_id列进行分片,并且共有120个这样的表,这些表分布在不同的分片中,例如friend_requests_1,friend_requests_2………..friend_requests_120。并且所有表都具有数百万个此类组合的数据。 现在,我希望“向(to_user_id = 2)发送了好友请求的用户列表(from_request_id),它应该仅是最新的20条记录” 如果是单个表,则查询将如下所示 从friend_requests中选择*,其中to_req_id = 2按日期顺序限制20;
但是由于它是分片环境,那么我如何在没有任何性能问题的情况下获得与上述查询相同的数据,我在from_request_id列上具有分片键,因为两列在读取数据方面具有相等的负载。我认为这应该是有道理的。
从_req_id到_req_id日期 1 2 YYYY-MM-DD 1 4 YYYY-MM-DD 2 3 YYY-MM-DD 6 9 YYY-MM-DD 6 8 YYY-MM-DD 10 33年-月-日 41 2 YYY-MM-DD 43 2 YYY-MM-DD