当前位置: 首页 > article >正文

性能测试中的DB优化

对使用数据库通常有3个要求:性能好,数据一致性有保障,数据安全可靠。数据库优化的前提也是这3个要求。有一句玩笑叫做“少做少错,不做不错。”DB优化的思路就是少做:减少请求次数,减少数据传输量,减少运算量(查询,排序,统计)。

以Oracle为例,大体从下面几个方向进行优化。

1>优化物理结构。数据库逻辑设计与物理设计要科学高效,例如分区设置,索引建立,字段类型及长短,沉余设计等。

2>共享SQL,绑定变量,降低高水位。

共享SQL,绑定变量旨在减少SQL语句的编译分析分析时间;降低高水位旨在减少遍历范围,提高查询效率。

3>优化查询器。特殊情况下优化执行计划,指定的执行计划加快查询速度。例如连接查询时指定驱动表,减少表的扫描次数。

4>优化单条SQL。对单条SQL进行优化分析,例如查询条件选择索引列。

5>并行SQL。对数据量巨大的表的数据遍历,用多少个线程分块处理任务。

6>减少资源争用(锁,缓存等)。可以提高IO效率,减少响应时间,从而降低吞吐量来缓解争用,例如用缓存,可以用物理拆分把热点数据分布在不同表空间。

7>优化内存,减少物理IO访问。

SGA(缓存高频访问数据),例如我们把客户信息加载到内存中。

PGA(排序,散列)

AMM(自动内存管理)人工干预

优化IO,进行条带化,读写分离,减少热点等。

注意:

单系统性能分析的思路是通过现象结合监控锁定性能问题(程序,配置,IO等)。

单系统性能调优的思路是减少资源占用,减少请求。

阅读后若有收获,不吝关注,分享,在看等操作!!!


http://www.kler.cn/a/539874.html

相关文章:

  • 【大模型】DeepSeek-V3技术报告总结
  • SQLAlchemy 的内存消耗
  • Bash (Bourne-Again Shell)、Zsh (Z Shell)
  • 代码随想录算法训练营day38
  • Faveo Helpdesk存在目录遍历漏洞(CVE-2024-37700)
  • UML学习
  • 深入学习设计模式
  • 手机向电脑传输文件方法有哪些?
  • Baklib优化数字化内容管理用科技提升商业效率与增值潜力
  • 8.flask+websocket
  • [EAI-033] SFT 记忆,RL 泛化,LLM和VLM的消融研究
  • (原创,可用)SSH实现内外网安全穿透(安全不怕防火墙)
  • 网安加·百家讲坛 | 刘志诚:以业务为中心的网络安全挑战与机遇
  • b s架构 网络安全 网络安全架构分析
  • 【嵌入式 Linux 音视频+ AI 实战项目】瑞芯微 Rockchip 系列 RK3588-基于深度学习的人脸门禁+ IPC 智能安防监控系统
  • CSS Overflow 属性详解:控制内容溢出的利器
  • Docker、Podman 和 Containerd 三者区别
  • Windows 下搭建 googletest 测试框架(C/C++)
  • css:怎么设置图片不变形
  • jupyterLab插件开发
  • iOS AES/CBC/CTR加解密以及AES-CMAC
  • go-elasticsearch创建ik索引并进行查询操作
  • Mysql8应用架构
  • 开源身份和访问管理方案之keycloak(一)快速入门
  • CNN-day9-经典神经网络ResNet
  • 如何在React中使用Redux进行状态管理?