广告
返回顶部
首页 > 资讯 > 数据库 >Oracle性能优化-SQL优化(案例一)
  • 679
分享到

Oracle性能优化-SQL优化(案例一)

2024-04-02 19:04:59 679人浏览 薄情痞子
摘要

Oracle 性能优化 -SQL 优化 ( 案例一 ) 环境: OS:Red Hat Enterprise linux AS release 4 DB:oracle 10.2.0.1.0

Oracle 性能优化 -SQL 优化 ( 案例一 )

环境:

OS:Red Hat Enterprise linux AS release 4

DB:oracle 10.2.0.1.0

问题现象:

客户反馈ERP 系统操作缓慢,服务器io 负载较高;

Oracle性能优化-SQL优化(案例一)

Oracle性能优化-SQL优化(案例一)

问题原因:

(1) 个别 sql 执行效率较低,由于 SQL 执行计划不合理,造成 SQL 执行过程中的逻辑读和物理读较多,导致服务器 IO 负载较高, ERP 运行缓慢;

(2) 收集统计信息的 JOB 执行时间为工作时间 9:13 ,和正常业务产生资源争用;

解决方案:

(1) 优化 SQL 执行效率,减少 SQL 执行过程中产生的逻辑读和物理读,降低服务器 IO 负载;

方法:

收集数据不均匀列checkman 和 senderman 的统计直方图;

Oracle性能优化-SQL优化(案例一)

(2) 建议将收集统计信息的 JOB 执行时间更改为非工作时间;

问题分析过程:

可以通过Oracle AWR 报告或者 iOStat 命令查看 IO 负载较高:

Oracle性能优化-SQL优化(案例一)

Oracle性能优化-SQL优化(案例一)

Oracle性能优化-SQL优化(案例一)

查找IO 负载高的原因:

通过AWR 报告可以看到消耗资源过多的 SQL 主要来源于以下两个:

一:协同凭证操作对应的SQL

Oracle性能优化-SQL优化(案例一)

二:用于自动收集统计信息的JOB

DECLARE job BINARY_INTEGER := :job; next_date DATE := :mydate; broken BOOLEAN := FALSE; BEGIN ANALYZE_TB ; :mydate := next_date; IF broken THEN :b := 1; ELSE :b := 0; END IF; END

通过AWR 查看 SQL

Oracle性能优化-SQL优化(案例一)

Oracle性能优化-SQL优化(案例一)

Oracle性能优化-SQL优化(案例一)

Oracle性能优化-SQL优化(案例一)

Oracle性能优化-SQL优化(案例一)

通过PLSQL 查看 SQL

Oracle性能优化-SQL优化(案例一)

Oracle性能优化-SQL优化(案例一)

通过NMC 查看 SQL

Oracle性能优化-SQL优化(案例一)

Oracle性能优化-SQL优化(案例一)

SQL 优化:

通过绑定变量值以及SQL 执行计划分析 SQL 产生的执行计划不合理, pub_workflownote 表没有走索引,而是走全表扫描;

Oracle性能优化-SQL优化(案例一)

Oracle性能优化-SQL优化(案例一)

Oracle性能优化-SQL优化(案例一)

Oracle性能优化-SQL优化(案例一)

Oracle性能优化-SQL优化(案例一)

Oracle性能优化-SQL优化(案例一)

查看数据分布情况,发现senderman 和 checkman 列分布不均匀

Oracle性能优化-SQL优化(案例一)

Oracle性能优化-SQL优化(案例一)

Oracle性能优化-SQL优化(案例一)

对senderman 和 checkman 列收集统计直方图

Oracle性能优化-SQL优化(案例一)

再次查看SQL 执行计划,发现 pub_workflownote 表可以正常走索引

Oracle性能优化-SQL优化(案例一)

生成统计直方图后进行了第一次绑定变量窥探,将生成第一个带入参数值的正确执行计划;

欢迎关注我的微信公众号"IT小Chen",共同学习,共同成长!!!

Oracle性能优化-SQL优化(案例一)

Oracle性能优化-SQL优化(案例一)


您可能感兴趣的文档:

--结束END--

本文标题: Oracle性能优化-SQL优化(案例一)

本文链接: https://www.lsjlt.com/news/46413.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Oracle性能优化-SQL优化(案例一)
    Oracle 性能优化 -SQL 优化 ( 案例一 ) 环境: OS:Red Hat Enterprise Linux AS release 4 DB:Oracle 10.2.0.1.0 ...
    99+
    2022-10-18
  • Oracle性能优化-SQL优化(案例四)
    Oracle 性能优化 -SQL 优化 ( 案例四 ) 环境: DB:Oracle 11.2.0.1.0 问题: ERP 薪资发放节点计算时间耗时 较长,需要15 分钟左右; ...
    99+
    2022-10-18
  • Oracle AWR性能优化一例
    有一个批处理程序运行超过24小时仍然不能完成,采集了程序运行期间的AWR报告如下。 由上可以看到,该系统为AIX的单实例数据库,采样时长1319.96 分钟,DB time 1532.15分钟。 看一下TO...
    99+
    2022-10-18
  • SQL性能优化的示例
    小编给大家分享一下SQL性能优化的示例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!SQL性能优化1、SELECT 语句...
    99+
    2022-10-18
  • php之性能优化案例
    php是一个很流行的脚本语言,现在很多公司(新浪、优酷、百度、搜狐、淘宝等等)在使用这种语言进行网站开发。我的这篇文章,我只是希望能够提高你的php脚本性能。请记住你的php脚本性能...
    99+
    2022-11-12
  • 数栈SQL优化案例:OR条件优化
    ...
    99+
    2017-04-17
    数栈SQL优化案例:OR条件优化
  • Oracle 的sql优化提高性能
    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引...
    99+
    2022-10-18
  • sql 性能优化
    性能优化 全表扫描(多块读的size)数据量比较多的时候 1,并行查询 2,多块读 3,索引全扫描 row ID  索引就是一个数据库对象,包含 k值和row id的新表。 OLTP...
    99+
    2022-10-18
  • oracle性能优化(项目中的一个sql优化的简单记录)
    在项目中,写的sql主要以查询为主,但是数据量一大,就会突出sql性能优化的重要性。其实在数据量2000W以内,可以考虑索引,但超过2000W了,就要考虑分库分表这些了。本文主要记录在实际项目中,一个需要查询很慢的sql的优化过程,如果有更...
    99+
    2015-11-21
    oracle性能优化(项目中的一个sql优化的简单记录)
  • 8个sql优化的案例
    SQL语句的执行顺序: 1、LIMIT 语句 分页查询是最常用的场景之一,但也通常也是最容易出问题的地方。比如对于下面简单的语句,一般 DBA 想到的办法是在 type、 name、 create_...
    99+
    2023-09-01
    sql 数据库 mysql
  • Oracle 性能优化 之 游标及 SQL
    一、游标 我们要先说一下游标这个概念。       从 Oracle 数据库管理员...
    99+
    2022-10-18
  • Oracle 学习之性能优化(一)SQL语句处理
      当向Oracle提交一个sql命令时,Oracle到底做了哪些事情?对这个问题有很好的理解,能帮助你更好的分析sql语句的优化。  执行一条sql语句从开始到结束,需要经历4个步骤:...
    99+
    2022-10-18
  • oracle 性能优化
    索引的说明 索引是与表相关的一个可选结构,在逻辑上和物理上都独立于表的数据,索引能优化查询,不能优化DML操作,Oracle自动维护索引,频繁的DML操作反而会引起大量的索引维护。 通常,为检索表数据...
    99+
    2022-10-18
  • 一次夜维SQL的性能优化
    最近单位搬家,从国家会议中心,搬往空气清新的顺义后沙峪,搬迁之前的完结上线中,碰见了一些棘手的问题,有一些值得借鉴的地方。   这是一个夜维程序的优化。这个夜维的目的,是每日删除30+张...
    99+
    2022-10-18
  • SQL优化案例-使用with as优化Subquery Unnesting(七)
    使用 no_unnest hint可以让执行计划产生filter,即不展开,但一般情况下使用unnest hint无法消除filter。 如下SQL,找出库中非唯一索引,那么大家可能会这么写SQ...
    99+
    2022-10-18
  • MySQL性能优化的案例分析
    这篇文章主要介绍MySQL性能优化的案例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!前言MySQL索引底层数据结构与算法MySQL性能优化原理-前篇实践(1)--MySQL性能...
    99+
    2022-10-18
  • SQL优化之多表关联查询-案例一
    慢SQL日志里看到一个三张表的关联查询,如下: SELECT COUNT(1)  FROM refund_order_item i, artis...
    99+
    2022-10-18
  • Android性能优化(一)启动优化
            以前做手机的时候,我非常重视app的性能优化。其实一直以来,在工作中我总会去强调性能优化的重要性。但是,很多时候,由于一些外界因素,我们对app的一些性能指标不...
    99+
    2022-06-06
    启动 优化 Android
  • MySQL数据库性能优化之SQL优化的示例分析
    这篇文章将为大家详细讲解有关MySQL数据库性能优化之SQL优化的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。  注:这篇文章是以 MySQL 为背景,很多内容...
    99+
    2022-10-19
  • MySQL优化之二:My SQL Server性能优化
    1 安装优化一般说来,系统功能越多越复杂,性能就会越差。因此在编译安装MySQL时,仅安装需要的功能模块。如存储引擎、需要的字符集等,让系统尽可能的简单。2 日志设置优化由于日志记录直接带来的性能损耗就是数...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作