分库,分表后连表查询的问题解决方案
方案一:利用union,union all
方案二:建一张主表将你要连表查询的字段放在其中,做好索引;你还记录下用户经常查询的条件,把查出的数据缓存,以便用户经常调用。
方案三:
我们可以把经常要用到的数据写到cache中,这样以后要获取的时候直接到cache里拿。比如一天更新一次的情况(像德问的排名就是这样),我们可以写个cron,每天更新一次。
方案四:多线程处理各个分表
每个子表各开一个线程分别查询数据,然后进行合并。分表一般都是按时间进行拆分的,所以查询的时候通过也会按时间进行查询,也就做聚合的时候会用到跨表访问,如果全表数据量很大,可以借助hadoop这类工具进行统计分析。
多线程处理是可以的,不过不能开太多,要根据处理器个数和总得连接数来做衡量
方案五:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决