提高数据库查询速度的几个思路
1、缓存,在持久层或持久层之上做缓存。
2、数据库表的大字段剥离,保证单条记录的数据量很小。
3、恰当地使用索引。
4、必要时建立多级索引。
5、分析Oracle的执行计划,通过表数据统计等方式协助数据库走正确的查询方式,该走索引就走索引,该走全表扫描就走全表扫描。
6、表分区和拆分,无论是业务逻辑上的拆分(如一个月一张报表、分库)还是无业务含义的分区(如根据ID取模分区)。
7、RAC。
8、字段冗余,减少跨库查询和大表连接操作。
9、数据通过单个或多个JOB生成出来,减少实时查询。
10、从磁盘上做文章,数据存放的在磁盘的内、外磁道上,数据获取的效率都是不一样的。
11、放弃关系数据库的某些特性,引入NoSQL数据库。
12、换种思路存放数据,例如搜索中的倒排表。
2、数据库表的大字段剥离,保证单条记录的数据量很小。
3、恰当地使用索引。
4、必要时建立多级索引。
5、分析Oracle的执行计划,通过表数据统计等方式协助数据库走正确的查询方式,该走索引就走索引,该走全表扫描就走全表扫描。
6、表分区和拆分,无论是业务逻辑上的拆分(如一个月一张报表、分库)还是无业务含义的分区(如根据ID取模分区)。
7、RAC。
8、字段冗余,减少跨库查询和大表连接操作。
9、数据通过单个或多个JOB生成出来,减少实时查询。
10、从磁盘上做文章,数据存放的在磁盘的内、外磁道上,数据获取的效率都是不一样的。
11、放弃关系数据库的某些特性,引入NoSQL数据库。
12、换种思路存放数据,例如搜索中的倒排表。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架