oracle如何降低逻辑读,如何降低该SQL的逻辑读
语句:
SELECT DISTINCT M.PACKAGEID AS PACKAGEID,
M.PROCESSDEFINEID AS PROCESSDEFINEID,
M.WORKFLOWNAME AS WORKFLOWNAME,
B.DOCUMENT_ID AS DOCUMENT_ID,
B.FORM_ID AS FORM_ID,
B.DOCUMENT_TITLE AS DOCUMENT_TITLE,
B.DOCUMENT_PRIORITY AS DOCUMENT_PRIORITY,
TO_CHAR(I1.STARTTIME, 'YYYY-MM-DD HH24:MI:SS') AS STARTTIME,
I1.ACTIVITYNAME AS ACTIVITYNAME,
I1.ACTIVITYID AS ACTIVITYID,
I1.GRANTORID AS GRANTORID,
I1.GRANTORNAME AS GRANTORNAME,
I2.SUBMITUSERNAME AS SUBMITUSERNAME,
BO_INST.BO_INSTANCE_ID AS BO_INSTANCE_ID,
BO_DEF.BO_DEF_NAME AS BO_DEF_NAME,
BO_DEF.BO_DEF_ID AS BO_DEF_ID,
I1.LOGID AS LOGID,
B.DOCUMENT_SECRET AS DOCUMENT_SECRET,
I1.USERNAME AS USERNAME,
ACC.USER_ID AS USERID
FROM BPM70.MOCHA_XJCMCC_ZXCD ZX
INNER JOIN BPM70.MOCHA_DOCUMENT_BODY B ON ZX.DOC_ID = B.BO_INSTANCE_ID
INNER JOIN BPM70.MOCHA_BO_INSTANCE BO_INST
ON BO_INST.BO_INSTANCE_ID = B.BO_INSTANCE_ID
INNER JOIN BPM70.MOCHA_BO_DEFINITION BO_DEF
ON BO_DEF.BO_DEF_ID = BO_INST.BO_DEF_ID
INNER JOIN BPM70.MOCHA_BE_PROCESS_INSTANCE M
ON M.DOCID = BO_INST.BO_INSTANCE_ID
INNER JOIN BPM70.MOCHA_BE_PROCESS_LOG I1
ON I1.PROCESSID = M.PROCESSID
LEFT JOIN BPM70.MOCHA_OSM_ACCOUNTS ACC
ON ACC.ID = I1.USERID
LEFT OUTER JOIN (SELECT LOGID, USERNAME AS SUBMITUSERNAME, PROCESSID
FROM BPM70.MOCHA_BE_PROCESS_LOG) I2
ON I1.FROMLOGID = I2.LOGID
AND I2.PROCESSID = M.PROCESSID
INNER JOIN BPM70.MOCHA_HUMANTASK_TASK LOG_EXT
ON I1.LOGID = LOG_EXT.TASK_ID
WHERE B.DOCUMENT_STATE || '' <> 300
AND I1.WORK_STATUS_ID = 2
AND BO_DEF.STATE || '' IN (1, 3)
AND BO_INST.SUBMIT_FLAG = 1
AND BO_INST.SAVE_FLAG = 1
AND GENTIME > TO_DATE(:1, 'YYYY-MM-DD HH24:MI:SS')
执行计划:
PLAN_TABLE_OUTPUT
------------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost |
---------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 21 | 10836 | 3841 |
| 1 | SORT UNIQUE | | 21 | 10836 | 3841 |
| 2 | NESTED LOOPS OUTER | | 21 | 10836 | 3824 |
| 3 | NESTED LOOPS | | 21 | 10353 | 3782 |
| 4 | VIEW | | 21 | 10227 | 3761 |
| 5 | NESTED LOOPS OUTER | | 21 | 15036 | 3761 |
| 6 | NESTED LOOPS | | 21 | 13965 | 3740 |
| 7 | NESTED LOOPS | | 18 | 9882 | 3668 |
| 8 | HASH JOIN | | 24 | 8880 | 3596 |
| 9 | TABLE ACCESS FULL | MOCHA_XJCMCC_ZXCD | 884 | 42432 | 19 |
| 10 | HASH JOIN | | 429 | 134K| 3576 |
| 11 | TABLE ACCESS BY INDEX ROWID| MOCHA_BO_INSTANCE | 1299 | 109K| 566 |
| 12 | NESTED LOOPS | | 4110 | 606K| 1700 |
| 13 | TABLE ACCESS FULL | MOCHA_BO_DEFINITION | 3 | 195 | 2 |
| 14 | INDEX RANGE SCAN | IDX_BO_INST_DEF_ID | 2732 | | 12 |
| 15 | TABLE ACCESS FULL | MOCHA_DOCUMENT_BODY | 15872 | 2650K| 1856 |
| 16 | TABLE ACCESS BY INDEX ROWID | MOCHA_BE_PROCESS_INSTANCE | 1 | 179 | 3 |
| 17 | INDEX RANGE SCAN | IDX_PROI_DOCID | 1 | | 2 |
| 18 | TABLE ACCESS BY INDEX ROWID | MOCHA_BE_PROCESS_LOG | 1 | 116 | 4 |
| 19 | INDEX RANGE SCAN | IDX_PROLOG_PID | 4 | | 2 |
| 20 | TABLE ACCESS BY INDEX ROWID | MOCHA_OSM_ACCOUNTS | 1 | 51 | 1 |
| 21 | INDEX UNIQUE SCAN | PK_MOCHA_OSM_ACCOUNTS | 1 | | |
| 22 | INDEX UNIQUE SCAN | PK_HUMANTASK_TASK | 1 | 6 | 1 |
| 23 | TABLE ACCESS BY INDEX ROWID | MOCHA_BE_PROCESS_LOG | 1 | 23 | 2 |
| 24 | INDEX UNIQUE SCAN | PK_BE_PROCESS_LOG | 1 | | 1 |
---------------------------------------------------------------------------------------------------
SQL> select owner,partitioned,last_analyzed,num_rows from dba_tables where table_name='MOCHA_XJCMCC_ZXCD';
OWNER PARTIT LAST_ANAL NUM_ROWS
------------------------------------------------------------ ------ --------- ----------
BPM70 NO 16-APR-11 17680
SQL> select owner,partitioned,last_analyzed,num_rows from dba_tables where table_name='MOCHA_DOCUMENT_BODY';
OWNER PARTIT LAST_ANAL NUM_ROWS
------------------------------------------------------------ ------ --------- ----------
BPM70 NO 16-APR-11 31,7443
表 MOCHA_DOCUMENT_BODY各个列数据的分布程度:
COLUMN_NAME NUM_DISTINCT
-------------------- ------------
ORG_ALL_PATH 1
START_TIME 317438
DOCUMENT_SECRET 1
SPREAD1 0
SPREAD2 0
SPREAD3 0
SPREAD4 0
SPREAD5 46668
SPREAD6 0
SPREAD7 310
SPREAD8 116
SPREAD9 0
SPREAD10 0
SPREAD11 0
SPREAD12 0
SPREAD13 0
SPREAD14 0
SPREAD15 0
SPREAD16 0
SPREAD17 0
SPREAD18 0
SPREAD19 0
SPREAD20 0
DOCUMENT_ID 317443
BO_INSTANCE_ID 317443
FORM_ID 150
FORM_VERSION 36
DOCUMENT_STATE 1
DOCUMENT_PRIORITY 4
DOCUMENT_TITLE 28220
ORG_ID 325
DOC_HTML_HEIGHT 1
MODIFYTIME 317443
ORG_PATH 1
SQL> select index_name,column_name,column_position from dba_ind_columns where table_name='MOCHA_DOCUMENT_BODY';
INDEX_NAME COLUMN_NAME COLUMN_POSITION
------------------------------ ------------------------- ---------------
PK_DOCUMENT DOCUMENT_ID 1
IDX_BODY_INST_ID BO_INSTANCE_ID 1
IDX_DOC_BODY_DOC_TITLE DOCUMENT_TITLE 1
Statistics
----------------------------------------------------------
0 recursive calls
0 db block gets
42,5057 consistent gets
16 physical reads
0 redo size
19337 bytes sent via SQL*Net to client
914 bytes received via SQL*Net from client
10 SQL*Net roundtrips to/from client
1 sorts (memory)
0 sorts (disk)
132 rows processed
请教如何降低该逻辑读??????
oracle如何降低逻辑读,如何降低该SQL的逻辑读相关推荐
- Interview:算法岗位面试—10.24下午—上海某软件公司(机器学习,上市)电话面试—考察SVM、逻辑回归、降低过拟合、卷积网络基础等
Interview:算法岗位面试-10.24下午-上海某软件公司(机器学习,上市)电话面试-考察SVM.逻辑回归.降低过拟合.卷积网络基础等 导读:当时电话来的非常快,我刚做完一家公司的笔试,接着来了 ...
- oracle怎么判断逻辑读,如何查看Oracle数据库物理读、逻辑读前10的sql?
概述 今天主要介绍几个sql,可能很多人就收藏一下但很少会去用,所以结合案例来做一下分析,这样就知道在什么场景用了. 下面介绍一下案例. 1.监控分析 从监控发现物理IO读处于比较高的水平,截图如下: ...
- 初谈SQL Server逻辑读、物理读、预读
前言 本文涉及的内容均不是原创,是记录自己在学习IO.执行计划的过程中学习其他大牛的博客和心得并记录下来,之所以想写下来是为了记录自己在追溯的过程遇到的几个问题,并把这些问题弄清楚. 本章最后已贴出原 ...
- MySQL预读失效_华为云MySQL新增“逻辑预读”特性,轻松解决线性预读失效问题...
随着用户对数据访问速度的日益重视,MySQL数据库在最初的设计中,采用了线性预读的方式,提前将即将使用的数据预读到Buffer pool中,来提升数据的访问速度,但在实际使用过程中,线性预读失效的问题 ...
- 浅谈SQL Server逻辑读、物理读、预读
目录 (一)前言 (二)正文 1. SQL Server的数据存储方式 2. 剖析IO统计信息 (1)初识三读 (2)逻辑读.物理读.预读的关系 (3)看图理解[逻辑读].[物理读].[预读] (三) ...
- oracle dg3种模式,DG有下面三种模式 逻辑standby和物理standby
DG有下面三种模式 – Maximum protection – Maximum availability – Maximum performance 在Maximum protection下, 可以 ...
- 逻辑回归三部曲——逻辑回归(logistics regression)原理-让你彻底读懂逻辑回归
逻辑回归已经在各大银行和公司都实际运用于业务,已经有很多前辈写过逻辑回归.本文将从我实际应用的角度阐述逻辑回归原理,致力于让逻辑回归变得清晰.易懂.逻辑回归又叫对数几率回归,是一种广义的线性 ...
- 状态机 复杂逻辑问题_状态管理中的逻辑
状态机 复杂逻辑问题 by Oguz Gelal 由Oguz Gelal 状态管理中的逻辑 (The Logic in State Management) The standardization of ...
- 商业逻辑12讲之技术创新的逻辑
目录 1. 概述 2. 创新的重要性 3. 创新的基本概念 4. 创新的管理模块 5. 技术创新的战略管理 6. 技术创新的组织设计 7. 培养创新人才 8. 技术创新的文化建设 9. 小结 1. 概 ...
- 数据库设计 读多写少、写多读少、写多读多各场景数据库建设方案
数据库建设方案 读多写少 写多读少 写多读多 数据库集群方案优缺点 读多写少 解决方案:采用传统关系型数据库足以应对,若并发量很大,采用mysql集群即可应对! 写多读少 1.业务场景:滴滴.饭堂刷卡 ...
最新文章
- scanner怎样回到文件开头_怎么申请专利?个人怎样申请国家专利?
- Highcharts Pie 饼图提示标签IE下重叠解决方法,及json数据绑定方法
- android 外文期刊_AndroSimilar: Robust signature for detecting variants of Android malware
- 动图处理_面对单刀球的几种处理方法(动图演示)
- Android之提示java.lang.RuntimeException: Parcel: unable to marshal value Image问题
- sftp shell 批量上传文件_如何在shell脚本里使用sftp批量传送文件-阿里云开发者社区...
- python能做什么excel-python能做什么,python自学行吗?
- Ubuntu 14 中给 APACHE2安装 SSL 模块 Enable SSL site on Ubuntu 14 LTS, Apache 2.4.7:
- 情人节程序员用HTML网页表白【表白对话】 HTML5七夕情人节表白网页源码 HTML+CSS+JavaScript
- 【FinE】EMD/EEMD方法及金融数据分解
- agent常见处理问题的处理
- Pygame实战:花巨资筹备的一款Tom猫游戏,你玩过嘛?
- 金融业大数据风控方式
- 最好用的HTML文本编辑器:BBEdit for Mac
- SF中DispSync.cpp源码分析
- linux deb文件安装
- 基于SSD固态硬盘的数据库性能优化
- oracle 主要特点是,Oracle PL/sql 主要特点
- linux环境下QT程序内存泄露检测-Qt creator +Valgrind检测内存泄漏(linux)
- 大牧絮叨设计模式:工厂方法模式
热门文章
- linux网络命令 ifconfig、ifup、ifdown 网络配置 网卡开启关闭
- golang 数据类型之间的转换
- linux下 x86、i386、i486、i586、i686、x86_64区别
- linux 内核编译 错误 fatal error: linux/compiler-gcc6.h: No such file or directory
- C/C++程序编译过程详解
- windows目录内打开CMD的几种方法
- css中单位px和em,rem的区别
- (四)Amazon Lightsail 部署LAMP应用程序之扩展PHP前端
- Linux 内核中的 Device Mapper 机制
- Deep Learning and Shallow Learning