數據極大,導致多表關聯查詢數據慢。優先選用最直接有效的辦法就是增加索引/優化sql/優化表結構 (網上有很多)
當使用sql優化無法解決慢的問題,可以考慮一下方案
方案一:使用 Elasticsearch,把查詢結果導入到 Elasticsearch
一種增量實時同步,每次更新都同時更新 Elasticsearch中的數據,
另一種全量,每間隔一段時間同步到Elasticsearch中(不是實時數據)
方案二:數據分析(根據不同的需求場景分析數據的特性採用可行的解決辦法)
如下查詢數據,表更新頻繁,
分析數據 按照日期分組,當天的會變化,當天以前的數據不會變化
每天跑批查詢要展示的字段生成當天記錄保存在單獨第一張表中(或者redis中),實時查詢時只查出當天的數據 併合並單獨的表中的數據 返回到前端展示