sql 调优 oracle 执行速度再快一点

问题描述

sql 调优 oracle 执行速度再快一点
select psf.pol_num, psf.bank_acct_num, cba_dda.bank_acct_nm
from   tbank_pos_slip_files psf, tclient_policy_links cpl_dda, tclient_bank_accounts cba_dda
where  cpl_dda.cli_num = cba_dda.cli_num
and    cpl_dda.bank_acct_typ = cba_dda.bank_acct_typ
and    cpl_dda.link_typ = 'O'
and    psf.bank_acct_num = cba_dda.bank_acct_num
and    psf.trade_role = 'C'
and    psf.mtch_ind = 'Y'
and    psf.mtch_dt between to_date('2013/11/01', 'yyyy/mm/dd') and to_date('2013/11/30', 'yyyy/mm/dd')
      --and (p_terr_cd = '*' or instr(p_terr_cd, psf.pos_terr_cd ||'/') > 0)
and    not exists (select 'Y'
        from   tclient_policy_links cpl, tclient_details cli
        where  cpl.cli_num = cli.cli_num
        and    cpl.link_typ in ('I', 'O')
        and    cpl.pol_num = psf.pol_num
        and    cli.cli_nm = cba_dda.bank_acct_nm
        union all
        select 'Y'
        from   tbeneficiary_details bft
        where  bft.pol_num = psf.pol_num
        and    bft.bnfy_nm = cba_dda.bank_acct_nm)
union
select psf.pol_num, psf.bank_acct_num, cba_dca.bank_acct_nm
from   tbank_pos_slip_files psf, vclient_policy_links cpl_dca, tclient_bank_accounts cba_dca
where  cpl_dca.cli_num = cba_dca.cli_num
and    cpl_dca.payo_bank_acct_typ = cba_dca.bank_acct_typ
and    psf.bank_acct_num = cba_dca.bank_acct_num
and    psf.trade_role = 'C'
and    psf.mtch_ind = 'Y'
and    psf.mtch_dt between to_date('2013/11/01', 'yyyy/mm/dd') and to_date('2013/11/30', 'yyyy/mm/dd')
      --and (p_terr_cd = '*' or instr(p_terr_cd, psf.pos_terr_cd ||'/') > 0)
and    not exists (select 'Y'
        from   tclient_policy_links cpl, tclient_details cli
        where  cpl.cli_num = cli.cli_num
        and    cpl.link_typ in ('I', 'O')
        and    cpl.pol_num = psf.pol_num
        and    cli.cli_nm = cba_dca.bank_acct_nm
        union all
        select 'Y'
        from   tbeneficiary_details bft
        where  bft.pol_num = psf.pol_num
        and    bft.bnfy_nm = cba_dca.bank_acct_nm)
时间: 2025-01-29 18:46:09

sql 调优 oracle 执行速度再快一点的相关文章

ORACLE SQL调优之执行计划与隐藏参数_complex_view_merging

    最近,赤峰windows 版的11.2.0.3的oracle数据库出现一条sql语句执行非常慢,需要1天的时间还出不来,但是观察服务器的IO和CPU都是很空闲,并且将 该sql语句涉及的对象全部导出,然后分别导入其他机器oracle数据库与出现性能问题的数据库,发现其他机器数据库执行非常快而问题数据库依旧很慢.尝试 收集方案及表的统计信息后,再次执行sql语句还是没有改善,在问题处理的过程中,注意到一个很明显的问题,就是不管收集统计信息还是给sql加并行.使 用强制sql走hash,其执

ORACLE SQL调优之'PLAN_TABLE' is old version

  在为国投做SQL调优时,他们开发说不要动现在的SQL,调整一下执行计划即可,即查询某个表时执行特定的执行计划.乍一听,我是吓了一跳!  由于他们开发不让动SQL结构(该SQL经过PLSQL优化后有500多行,其是2层嵌套递归查询,外边一个SQL如图1-2,外层SQL的每一个列是一个子查询如下图1-1,递归子查询有32个),所以只能从SQL涉及的表.索引下手,查找问题的具体原因及解决办法.我的做法是,先查看了SQL涉及的表的统计信息,问题SQL涉及了8张表(最大的表有300M左右,小表只有几M

SQL 调优1

                                             SQL 调优1 调整的方法调整的工具内存组件调整  shared_pool data_buffer pga IO性能文件确定 调整的方法:调整的流程 架构设计 建模 程序 数据库 硬件调整  每次只调整一个地方 top     消耗资源最多 执行的次数最多 执行的时间最长     达到优化的目标就不优化了     优化的过程中一定不要产生新的性能问题 ----->熟悉别人的生产环境 调整的工具:1   v$

win7关闭开机动画让win7系统开机再快一点

以前我们说过很多种帮助Win7开机加速的方法,比如减少Win7开机启动的程序.服务或计划任务等.不过这些都优化都是针对已经进入Win7系统后进行的,要想让Win7系统开机再快一点,还有一种比较"另类"的优化方法,那就是关闭Win7系统的开机动画.这个系统默认的动画看久了,是不是也有点审美疲劳? 点击"开始"按钮,在搜索框中输入"msconfig",并按回车键,打开"系统配置"对话框. 输入msconfig打开系统配置 切换到&

php5-memcached比php5-memcache速度略快一点

 php5-memcached比php5-memcache速度略快一点 php5-memcached和php5-memcache是两个php操作memcached的组件,他们是不同人开发的. php官网都列出了他们各自的使用方法: http://www.php.net/manual/en/book.memcache.php (安装使用:sudo apt-get install php5-memcache) http://www.php.net/manual/en/book.memcached

使用sqld360进行特定SQL调优分析

    系统性能问题通常是一个综合性的问题,用户对系统的反馈,通常是一个"慢"字.对调优人员,要从网络.应用服务器.数据库服务器等多个层面进行定位,发现瓶颈.如果落实到数据库层面,执行SQL速度慢就是开发运维DBA所需要关注的范畴. 对系统SQL的调优,一般而言不是"一锤子"买卖.而且,性能问题SQL也都遵循"二八原则",即百分之八十的性能问题,是由百分之二十的SQL语句引起的.所以,每次集中处理两到三个SQL,之后看效果再决定下一步处理的方式,

简单12招让Hive运行快一点,再快一点

Hive可以让你在Hadoop上使用SQL,但是在分布系统上的SQL的调优是不同的.这里有12个技巧能够帮助你. Hive并不是一个关系型数据库,但它假装是大部分情况中的一个.它有表格,运行SQL,并且支持JDBC和ODBC. 这个启示有利及不利的消息:Hive不运行查询数据库方式.这是一个很长的故事,但是我在工作周花了80多个小时亲自调整Hive.不用说,我不必再头疼了.因此,为了您的利益,这里有一些建议,让你的Hive项目比我的运行的快一点. 1.不要使用MapReduce 你是否相信Tez

ORACLE SQL调优之统计信息缺失导致的逻辑读暴增

    2016年11月8日,接到广西负责人申告,说决策系统一条SQL平时执行2s左右能执行完,现在却要执行2:30多才能出结果,请求对其做处理.     操作系统:RHEL LINUX 6.4     数据库版本:11.2.0.4     首先,登录服务器查看数据库服务器的状态: [oracle@orcl ~]$ free -m              total       used       free     shared    buffers     cached Mem:    

ORACLE SQL调优案例一则

收到监控告警日志文件(Alert)的作业发出的告警邮件,表空间TEMPSCM2不能扩展临时段,说明临时表空间已经被用完了,TEMPSCM2表空间不够用了 Dear All:     The Instance SCM2' alert log occured the ora errors ,please see the detail blow and take action for it. many thanks! ------------------------------------------