网站首页 > 技术文章 正文
运维小白一枚,最近工作中数据库宕机频发,工作之余,随手整理了个人对oracle性能分析思路,欢迎高手指教。
数据库是否存在性能问题,一般在系统设计就决定了,包含软件设计/数据库设计/硬件设计,其中任何一个环节有不当处理,都有可能导致系统的性能下降,而系统的性能在多数情况下又反映为数据库性能问题。
软件设计导致的性能问题,可简单归纳为架构设计/代码编写;作为随手笔记,今天简单总结下代码编写对数据库性能的影响:
1、SQL代码中加入Hint约束
系统上线运行多天,但某一天突然变慢,根据从用户端发出的SQL,发现在SQL代码中加入了Hint,类似于:select /*+ index(t1 ind_t1) */ col1,col2 from t1 where col1> ... and col1<...
猜测开发在上线前压测阶段,发现sql选择索引比全表扫描效率高,才在sql中加入了这段Hint;但为什么会突然变慢?
通过比对原始SQL和去掉Hint的SQL执行计划比对,去掉Hint的SQL虽然全表扫描,但扫描的数据块远远小于原始SQL,原因找到了,近期数据在创建索引的列上的列值重复率会远远高于从前,因为ORACLE在选择索引后,读取了更多的索引块和数据块,导致了大量的I/O操作。
2、不必要的外连接操作
外连接执行过程对于性能来说非常昂贵,对于不必要的外连接,比如担心遗漏数据而刻意写的外连接SQL就需要避免使用
3、绑定变量的SQL
很多人觉得SQL的代码优化其中一条是绑定变量,事实上,这完全取决的你的系统,OLAP绑定变量执行性能的影响可以忽略不计,所以根据系统来决定是否绑定变量。
以上个人简单的认识,还请大牛多多交流赐教
猜你喜欢
- 2024-10-22 程序员笔记|解读Oracle AWR性能分析报告
- 2024-10-22 「优化体系」Oracle优化必备之动态性能视图v$session_longops
- 2024-10-22 英方i2Active发布3.1版本,针对Oracle的多项性能大幅度提升
- 2024-10-22 Oracle SQL性能优化技巧 oracle sql优化一般从那几个方面入手
- 2024-10-22 linux学习~Oracle数据库性能分析利器-AWR报告
- 2024-10-22 Oracle 性能分析与诊断|Buffer Cache Hit Ratio 诊断
- 2024-10-22 Oracle AI 性能优化指南探讨 oracle语句性能优化
- 2024-10-22 ORACLE SQL性能优化总结 oracle数据库性能优化方法论和最佳实践
- 2024-10-22 详解ORACLE DBA判断IO有性能问题的标准--操作系统和AWR报告
- 2024-10-22 oracle性能调优学习第一天 oracle性能调优总结
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端react (48)
- 前端aes加密 (58)
- 前端md5加密 (49)
- 前端路由 (55)
- 前端数组 (65)
- 前端定时器 (47)
- 前端接口 (46)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle 中文 (51)
- oracle链接 (47)
- oracle的函数 (57)
- mac oracle (47)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)