如何实现对太多表的排序,分页和过滤?

时间:2018-09-16 08:21:15

标签: mysql

有一个用户信息查询服务。每个用户的详细信息来自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的 JOIN不得超过3个。因此,我必须从数据库中获取所有数据,然后在应用程序中进行排序,分页和筛选,这对于太多的记录是不可能的。

使用大数据进行排序,分页和过滤是一个常见问题。
有没有切实可行的解决方案?

0 个答案:

没有答案