方案一:利用union,union all
方案二:建一张主表将你要连表查询的字段放在其中,做好索引;你还记录下用户经常查询的条件,把查出的数据缓存,以便用户经常调用。
方案三:
我们可以把经常要用到的数据写到cache中,这样以后要获取的时候直接到cache里拿。比如一天更新一次的情况(像德问的排名就是这样),我们可以写个cron,每天更新一次。
方案四:多线程处理各个分表
每个子表各开一个线程分别查询数据,然后进行合并。分表一般都是按时间进行拆分的,所以查询的时候通过也会按时间进行查询,也就做聚合的时候会用到跨表访问,如果全表数据量很大,可以借助hadoop这类工具进行统计分析。
多线程处理是可以的,不过不能开太多,要根据处理器个数和总得连接数来做衡量
方案五: