经过对部分SQL进行调优之后,目前系统主要受瓶颈于以下类型的SQL
SELECT COUNT(:"SYS_B_00") FROM
(select distinct t.zch, t.zs, t.fddbr, t.qymc, t.year, t.corpid as corpid, t.njhzzt as njhzztid, t.qylxdl, nvl(t.optimizeflag, :"SYS_B_01")
optimizeflag, t.fristsubmit as fristsubmit, t.jbrscrq, t.jbrscqz, t.czscqz, y.name as qylx, djjg.content as djjg, gxdw.content as gxdw,
njbm.content as njbm, decode(t.njba, :"SYS_B_02", :"SYS_B_03", :"SYS_B_04", :"SYS_B_05") njba
from (select year, zs, zch, fddbr, qylx, qymc, corpid, njhzzt, qylxdl, optimizeflag, fristsubmit,
jbrscrq, jbrscqz, czscqz, djjg, gxdw, njbm, njba from NJ_DJZGJGSH where qylxdl not between :"SYS_B_06" and :"SYS_B_07"
and njhzzt in (:"SYS_B_08", :"SYS_B_09", :"SYS_B_10") and year=:"SYS_B_11" and zch like :"SYS_B_12" and substr(nvl(fhdq, njbm),
:"SYS_B_13", :"SYS_B_14")=:"SYS_B_15" and nvl(fhdq, gxdw)=:"SYS_B_16" ) t , eptype y, bm_djjg djjg, bm_gxdw gxdw, bm_djjg njbm
where t.qylx=y.interfaceid(+) and t.djjg=djjg.code(+) and t.gxdw=gxdw.code(+) and t.njbm=njbm.code(+) )
此类型SQL中,子查询对NJ_DJZGJGSH表格的执行效率尤为糟糕。
select year, zs, zch, fddbr, qylx, qymc, corpid, njhzzt, qylxdl, optimizeflag, fristsubmit,
jbrscrq, jbrscqz, czscqz, djjg, gxdw, njbm, njba
from NJ_DJZGJGSH
where qylxdl not between :"SYS_B_06" and :"SYS_B_07"
and njhzzt in
(:"SYS_B_08", :"SYS_B_09", :"SYS_B_10") and year=:"SYS_B_11"
and zch like :"SYS_B_12" and substr(nvl(fhdq, njbm),
:"SYS_B_13", :"SYS_B_14")=:"SYS_B_15" and nvl(fhdq, gxdw)=:"SYS_B_16"
其执行计划为为全表扫描,其COST高达2510
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
8 (1)| 00:05:02 |
| 8 | TABLE ACCESS FULL | NJ_DJZGJGSH | 1 | 164 | 2510
7 (1)| 00:05:02 |
建议:
对此类SQL语句在SELECT中进行函数转换,在没有建立函数索引的前提下,执行效率将会很糟糕。
建议如下:
1、 在insert时进行函数转换。
2、 根据修改后的SQL,必要时考虑建联合索引。
分享到:
相关推荐
《数据库性能调优--原理与技术》是一本深入探讨数据库性能优化的专业书籍,旨在帮助读者理解和掌握提升数据库系统效率的关键技术和方法。通过学习本书,读者能够有效地解决在实际工作中遇到的数据库性能问题,提高...
《数据库性能调优:原理与技术》这本教材为我们提供了一套完整的理论与实践框架。 首先,书中对数据库的基础知识进行了系统介绍。作为性能优化的出发点,理解数据库的工作原理、查询执行流程以及索引的设计是至关...
数据库性能调优是确保数据库系统高效运行的关键任务。Oracle和MySQL作为两个主流的数据库管理系统,在性能调优方面各有所长。本文将深入探讨Oracle和MySQL在数据库性能调优策略上的差异,并提供实际的代码示例。 ...
数据库性能调优是知识密集型的学科,需要综合考虑各种复杂的因素:数据库缓冲区的大小、索引的创建、语句改写等等。总之,数据库性能调优的目的在于使系统运行得更快。数据库调优技术可以在不同的数据库系统中使用。...
数据库性能调优是知识密集型的学科,需要综合考虑各种复杂的因素:数据库缓冲区的大小、索引的创建、语句改写等等。总之,数据库性能调优的目的在于使系统运行得更快。 调优需要有广泛的知识,这使得它既简单又复杂...
【DB2数据库性能调优】 在数据库管理领域,性能优化是一项关键任务,特别是对于像IBM DB2 Universal Database (UDB)这样的大型企业级数据库系统。本文档深入探讨了如何使用Java示例程序PERFORMER来监控和优化DB2 ...
数据库性能一般用两个方面的指标来衡量:响应时间和吞吐量。响应越快,吞吐量越大,数据库性能越好。响应时间和吞吐量有些情况下不能一起得到改善。
《数据库性能调优原理与技术》一书深入探讨了数据库系统在设计、实施、管理和应用过程中涉及的关键性能优化策略。本书特别关注了三大主流数据库产品——DB2、Oracle和SQL Server,通过丰富的实证案例,展示了如何...
### Oracle10g数据库性能调优方法研究 #### 摘要 数据库系统的性能直接影响其可用性和稳定性。随着时间的推移,大多数数据库系统都会遇到性能问题,这些问题可能源自硬件、服务器配置、内存管理、应用程序、操作...
数据库性能调优方法
数据库性能调优.原理和技术 数据库性能调优.原理和技术
数据库性能调优是IT领域中的一个关键话题,特别是在大数据时代,高效、稳定的数据处理能力直接影响着业务的运行效率。本系列将深入探讨如何优化数据库性能,以提高数据存取速度,减少延迟,提升整体系统响应时间。...
"MySQL数据库性能调优" 数据库性能调优是指通过对数据库的优化和调整,以提高数据库的运行速度和效率。MySQL作为一种popular的关系数据库管理系统,性能调优对其运行效率和稳定性至关重要。在本文中,我们将探讨...
PostgreSQL数据库性能调优指南 PostgreSQL数据库性能调优是一个复杂且多方面的问题,涉及到数据库架构设计、查询优化、数据库配置、物理资源配置等多个方面。以下是 PostgreSQL 数据库性能调优指南的详细知识点: ...
Oracle SQL性能调优 1、Oracle存储结构 2、Oracle内存结构 3、Oracle优化器介绍 4、SQL执行计划分析 5、SQL语句调优 6、数据库参数配置及其它
Oracle数据库性能调优是DBA日常工作中至关重要的任务,它涉及到多个层面的分析和改进。在面对应用程序响应缓慢的问题时,通常需要从数据库层面、操作系统层面以及SQL查询优化三个方面进行深入排查。 首先,关注操作...
内容包括: 第一章:oracle资源管理 第二章:oracle任务调度 ...第十章:性能调优好框架。 由于文件过大,只提供百度网盘下载地址和提取码,请放心下载。 信誉第一,如有任何问题,可以给我发私信或者评论区留言