方案一:利用union,union all
方案二:建一張主表將你要連表查詢的字段放在其中,做好索引;你還記錄下用戶經常查詢的條件,把查出的數據緩存,以便用戶經常調用。
方案三:
我們可以把經常要用到的數據寫到cache中,這樣以后要獲取的時候直接到cache里拿。比如一天更新一次的情況(像德問的排名就是這樣),我們可以寫個cron,每天更新一次。
方案四:多線程處理各個分表
每個子表各開一個線程分別查詢數據,然后進行合並。分表一般都是按時間進行拆分的,所以查詢的時候通過也會按時間進行查詢,也就做聚合的時候會用到跨表訪問,如果全表數據量很大,可以借助hadoop這類工具進行統計分析。
多線程處理是可以的,不過不能開太多,要根據處理器個數和總得連接數來做衡量
方案五: