有一个用户信息查询服务。每个用户的详细信息来自5个mysql表。需要排序、分页和过滤。它很容易用一个sql实现。这样地:
SELECT A.a,B.b,C.c,D.d,E.e
FROM A
LEFT JOIN B ON A.biz_id=B.biz_id
LEFT JOIN C ON A.biz_id=C.biz_id
LEFT JOIN D ON A.biz_id=D.biz_id
LEFT JOIN E ON A.biz_id=E.biz_id
WHERE A.a = $a
AND B.b = $b
AND C.c = $c
AND D.d = $d
AND E.e = $e
ORDER BY E.create_time,
D.status
LIMIT 0,10
但是dba有一个规则,在线查询sql应该不超过3个连接。所以我必须从数据库中获取所有的数据,然后在应用程序中进行排序、分页和过滤,这对于记录太多是不可能的。
大数据的排序、分页和过滤是一个常见的问题。
有什么切实可行的解决办法吗?
暂无答案!
目前还没有任何答案,快来回答吧!