




已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大型企业级应用环境 SQL优化探秘云和恩墨 成就所托云和恩墨 成就所托个人介绍o 杨廷琨 (yangtingkun)o Oracle ACE Directoro ITPUB数据库管理区版主o ACOUG核心会员o 参与编写 Oracle数据库性能优化 、 Oracle DBA手记 和 Oracle DBA手记 3o 十四年的一线 DBA经验o 个人 BLOG中积累了近 3000篇原创技术文章o 云和恩墨技术总监云和恩墨 成就所托云和恩墨 成就所托优化的思路BEGINLOOPV := F_FOUND_BOTTLENECK;P_OPTIMIZE(V);IF (F_PERFORMANCE) THENEXIT;END IF;END LOOP;END;/云和恩墨 成就所托云和恩墨 成就所托一条 SQL语句引发的血案云和恩墨 成就所托云和恩墨 成就所托一条 SQL语句引发的血案云和恩墨 成就所托云和恩墨 成就所托一条 SQL语句引发的血案新上线 SQL?执行计划改变?云和恩墨 成就所托云和恩墨 成就所托一条 SQL语句引发的血案SELECT UNICARD_NO FROM TF_R_UNICARD WHERE PRESENT_TAG = 0 AND LIMIT_DATE + 0 SYSDATE + 90 AND UNICARD_STATE|NULL = 0 AND UNICARD_VALCODE|NULL = :B3 AND ROWNUM 99 OR RESERVED2 IS NULL) FOR UPDATEFOR UPDATE锁表?LOCAL索引访问效率低?ROWNUM绑定变量的值改变?COUNT STOPKEY没有生效?云和恩墨 成就所托云和恩墨 成就所托一条 SQL语句引发的血案SELECT UNICARD_NO FROM TF_R_UNICARD WHERE PRESENT_TAG = 0 AND LIMIT_DATE + 0 SYSDATE + 90 AND UNICARD_STATE|NULL = 0 AND UNICARD_VALCODE|NULL = :B3 AND ROWNUM 99 OR RESERVED2 IS NULL) FOR UPDATESQL select table_name, index_name, column_name, column_position from dba_ind_columns where table_name = TF_R_UNICARD;TABLE_NAME INDEX_NAME COLUMN_NAME COLUMN_POSITION- - - -TF_R_UNICARD PK_TF_R_UNICARD UNICARD_NO 1TF_R_UNICARD IDX_TF_R_UNICARD_4 RESERVED1 1TF_R_UNICARD IDX_TF_R_UNICARD_4 UNICARD_BATCHNO 2TF_R_UNICARD IDX_TF_R_UNICARD_4 UNICARD_VALCODE 3云和恩墨 成就所托云和恩墨 成就所托一条 SQL语句引发的血案SQL select column_name, NUM_DISTINCT, num_nulls, LAST_ANALYZED, HISTOGRAM from dba_tab_columns where table_name = TF_R_UNICARD;COLUMN_NAME NUM_DISTINCT NUM_NULLS LAST_ANALYZED HISTOGRAM- - - - -UNICARD_NO 208636559 0 01-4月 -14 HEIGHT BALANCEDUNICARD_BATCHNO 548 0 01-4月 -14 HEIGHT BALANCEDUNICARD_TYPE 1 0 01-4月 -14 NONEUNICARD_VALCODE 9 0 01-4月 -14 FREQUENCYUNICARD_STATE 5 0 01-4月 -14 FREQUENCYLIMIT_DATE 6 0 01-4月 -14 FREQUENCYBALANCE 10 0 01-4月 -14 NONEPRESENT_TAG 1 0 01-4月 -14 FREQUENCYRESERVED1 1386 0 01-4月 -14 HEIGHT BALANCEDRESERVED2 1 78524235 01-4月 -14 FREQUENCY云和恩墨 成就所托云和恩墨 成就所托一条 SQL语句引发的血案SQL SELECT CHILD_NUMBER, NAME, POSITION, DATATYPE_STRING, VALUE_STRING FROM V$SQL_BIND_CAPTURE WHERE SQL_ID = 6zqqgm5k6nyt6 AND CHILD_NUMBER = 0;CHILD_NUMBER NAME POSITION DATATYPE_STRING VALUE_STRING- - - - -0 :B3 1 CHAR(32) 040 :B2 2 NUMBER 10 :B1 3 VARCHAR2(32) 0422SQL SELECT UNICARD_NO 2 FROM UCR_CARD_01.TF_R_UNICARD 3 WHERE PRESENT_TAG = 0 4 AND LIMIT_DATE + 0 SYSDATE + 90 5 AND UNICARD_STATE|NULL = 0 6 AND UNICARD_VALCODE|NULL = 047 AND ROWNUM 99 OR RESERVED2 IS NULL) ;UNICARD_NO-XXXXXXXXXXXXXX云和恩墨 成就所托云和恩墨 成就所托一条 SQL语句引发的血案Elapsed: 00:00:02.71Statistics-0 recursive calls0 db block gets14079 consistent gets0 physical reads0 redo size530 bytes sent via SQL*Net to client492 bytes received via SQL*Net from client2 SQL*Net roundtrips to/from client0 sorts (memory)0 sorts (disk)1 rows processed云和恩墨 成就所托云和恩墨 成就所托一条 SQL语句引发的血案Execution Plan-|Id|Operation |Name |Rows |Cost|Pstart|Pstop|-| 0|SELECT STATEMENT | | 1| 947| | |*1| COUNT STOPKEY | | | | | | 2| PARTITION HASH ALL | | 1| 947| 1 | 8|*3| TABLE ACCESS BY LOCAL INDEX ROWID|TF_R_UNICARD | 1| 947| 1 | 8|*4| INDEX RANGE SCAN |IDX_TF_R_UNICARD_4| 1484| 609| 1 | 8|-Predicate Information (identified by operation id):-1 - filter(ROWNUM99) AND “UNICARD_STATE“|NULL=0 ANDINTERNAL_FUNCTION(“LIMIT_DATE“)+0SYSDATE!+90 AND “PRESENT_TAG“=0)4 - access(“RESERVED1“=0422)filter(“UNICARD_VALCODE“|NULL=04)云和恩墨 成就所托云和恩墨 成就所托一条 SQL语句引发的血案SQL SELECT UNICARD_NO 2 FROM UCR_CARD_01.TF_R_UNICARD PARTITION (P1) A3 WHERE PRESENT_TAG = 0 4 AND LIMIT_DATE + 0 SYSDATE + 90 5 AND UNICARD_STATE|NULL = 0 6 AND UNICARD_VALCODE|NULL = 047 AND ROWNUM 99 OR RESERVED2 IS NULL) ;no rows selectedExecution Plan-| Id | Operation |Name |Rows |Pstart|Pstop|-| 0 | SELECT STATEMENT | | 1| | |* 1 | COUNT STOPKEY | | | | | 2 | PARTITION HASH SINGLE | | 1| 1 | 1|* 3 | TABLE ACCESS BY LOCAL INDEX ROWID|TF_R_UNICARD | 1| 1 | 1|* 4 | INDEX RANGE SCAN |IDX_TF_R_UNICARD_4| 11| 1 | 1|-Statistics-1 recursive calls0 db block gets2662 consistent gets0 physical reads0 redo size327 bytes sent via SQL*Net to client481 bytes received via SQL*Net from client1 SQL*Net roundtrips to/from client0 sorts (memory)0 sorts (disk)0 rows processed云和恩墨 成就所托云和恩墨 成就所托一条 SQL语句引发的血案SQL SELECT /*+ GATHER_PLAN_STATISTICS */ UNICARD_NO 2 FROM UCR_CARD_01.TF_R_UNICARD 3 WHERE PRESENT_TAG = 0 4 AND LIMIT_DATE + 0 SYSDATE + 90 5 AND UNICARD_STATE|NULL = 0 6 AND UNICARD_VALCODE|NULL = 047 AND ROWNUM 99 OR RESERVED2 IS NULL) ;UNICARD_NO-XXXXXXXXXXXXXX云和恩墨 成就所托云和恩墨 成就所托一条 SQL语句引发的血案SQL SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR(NULL, NULL, IOSTATS);PLAN_TABLE_OUTPUT-SQL_ID gcm5adh9hr10a, child number 0-SELECT /*+ GATHER_PLAN_STATISTICS */ UNICARD_NO FROM UCR_CARD_01.TF_R_UNICARD WHERE PRESENT_TAG = 0 AND LIMIT_DATE + 0 SYSDATE + 90 AND UNICARD_STATE|NULL = 0 AND UNICARD_VALCODE|NULL = 04 AND ROWNUM 99 OR RESERVED2 IS NULL)Plan hash value: 490980256-| Id | Operation |Name |Starts|E-Rows|A-Rows|Buffers |-| 0 | SELECT STATEMENT | | 1| | 1| 14079 |* 1 | COUNT STOPKEY | | 1| | 1| 14079 | 2 | PARTITION HASH ALL | | 1| 1| 1| 14079 |* 3 | TABLE ACCESS BY LOCAL INDEX ROWID|TF_R_UNICARD | 5| 1| 1| 14079 |* 4 | INDEX RANGE SCAN |IDX_TF_R_UNICARD_4| 5| 1484| 19366| 1023 |-云和恩墨 成就所托云和恩墨 成就所托一条 SQL语句引发的血案SQL SELECT UNICARD_NO 2 FROM UCR_CARD_01.TF_R_UNICARD PARTITION(P1)3 WHERE PRESENT_TAG = 0 4 AND LIMIT_DATE + 0 SYSDATE + 90 5 AND UNICARD_STATE|NULL = 0 6 AND UNICARD_VALCODE|NULL = 047 AND ROWNUM 99 OR RESERVED2 IS NULL) ;no rows selectedSQL SELECT UNICARD_NO 2 FROM UCR_CARD_01.TF_R_UNICARD PARTITION(P2)3 WHERE PRESENT_TAG = 0 4 AND LIMIT_DATE + 0 SYSDATE + 90 5 AND UNICARD_STATE|NULL = 0 6 AND UNICARD_VALCODE|NULL = 047 AND ROWNUM 99 OR RESERVED2 IS NULL) ;no rows selectedSQL SELECT UNICARD_NO 2 FROM UCR_CARD_01.TF_R_UNICARD PARTITION(P3)3 WHERE PRESENT_TAG = 0 4 AND LIMIT_DATE + 0 SYSDATE + 90 5 AND UNICARD_STATE|NULL = 0 6 AND UNICARD_VALCODE|NULL = 047 AND ROWNUM 99 OR RESERVED2 IS NULL) ;no rows selectedSQL SELECT UNICARD_NO 2 FROM UCR_CARD_01.TF_R_UNICARD PARTITION(P4)3 WHERE PRESENT_TAG = 0 4 AND LIMIT_DATE + 0 SYSDATE + 90 5 AND UNICARD_STATE|NULL = 0 6 AND UNICARD_VALCODE|NULL = 047 AND ROWNUM 99 OR RESERVED2 IS NULL) ;no rows selectedSQL SELECT UNICARD_NO 2 FROM UCR_CARD_01.TF_R_UNICARD PARTITION(P5)3 WHERE PRESENT_TAG = 0 4 AND LIMIT_DATE + 0 SYSDATE + 90 5 AND UNICARD_STATE|NULL = 0 6 AND UNICARD_VALCODE|NULL = 047 AND ROWNUM 99 OR RESERVED2 IS NULL) ; UNICARD_NO-XXXXXXXXXXXXXX云和恩墨 成就所托云和恩墨 成就所托一条 SQL语句引发的血案SELECT UNICARD_NO FROM TF_R_UNICARD WHERE PRESENT_TAG = 0 AND LIMIT_DATE + 0 SYSDATE + 90 AND UNICARD_STATE|NULL = 0 AND UNICARD_VALCODE|NULL = :B3 AND ROWNUM 99 OR RESERVED2 IS NULL) FOR UPDATESQL ALTER SESSION FORCE PARALLEL DDL;Session altered.SQL CREATE INDEX IND_UNICARD_RES_VALCODE_DATE ON TF_R_UNICARD2 (RESERVED1, UNICARD_VALCODE|NULL, UNICARD_STATE|NULL, LIMIT_DATE + 0) PARALLEL 8 ONLINE;Index created.SQL ALTER INDEX IND_UNICARD_RES_VALCODE_DATE NOPARALLEL;Index altered.云和恩墨 成就所托云和恩墨 成就所托一条 SQL语句引发的血案云和恩墨 成就所托云和恩墨 成就所托一条 SQL语句引发的血案 针对业务特点的表结构模型 合理的分区方案 根据访问方式设计索引云和恩墨 成就所托云和恩墨 成就所托一条 SQL语句引发的血案SQL select 31.4 + 6.7 + 6.1 + 3.9 + 3.3 from dual;31.4+6.7+6.1+3.9+3.3-51.4云和恩墨 成就所托云和恩墨 成就所托N条 SQL语句引发的血案SQL select 7.8 + 1.9 + 1.5 + 1.3 + 1.2 from dual;7.8+1.9+1.5+1.3+1.2-13.7SQL select 26393.9*60 -124175-30408-24024-20109-18402 from dual;26393.9*60-124175-30408-24024-20109-18402-1366516时间都去哪了?云和恩墨 成就所托云和恩墨 成就所托N条 SQL语句引发的血案云和恩墨 成就所托云和恩墨 成就所托N条 SQL语句引发的血案云和恩墨 成就所托云和恩墨 成就所托N条 SQL语句引发的血案SQL select 40*3600 from dual;40*3600-144000云和恩墨 成就所托云和恩墨 成就所托N条 SQL语句引发的血案stattime cpu_total mem_util disk_util swap_space net_util DISK_FS_IO_RATE NET_PACKET_RATE09:00:02, 81.7, 86.1, 8.1, 48.0, 4.92, 12.7,62162.509:05:02, 87.3, 86.3, 8.9, 48.0, 5.57, 12.7,74992.709:10:02, 90.6, 86.4, 16.2, 48.0, 5.06, 12.6,74005.409:15:02, 94.2, 86.5, 19.7, 48.0, 5.11, 12.6,72529.209:20:02, 97.0, 86.6, 15.1, 48.0, 5.08, 12.6,80785.309:25:02, 97.0, 86.7, 13.3, 48.0, 5.94, 12.6,92448.609:30:02, 95.9, 86
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 城市生态修复技术实施
- 2025年小学书法测试题及答案
- 2025年小学专升本试题及答案
- 人工智能在幼儿健康成长中的应用研究
- 地铁上盖建筑设计的要点与应用研究
- 2025年小升初智能测试题及答案
- 精准监测助力水污染防治攻坚的策略及实施路径
- 安徽公务员面试试题及答案
- pcr上岗证考试题及答案陕西省
- 2025资料员国考试题及答案
- 人教版五年级下册音乐影视音乐(作业设计方案)
- 事业单位工作人员调动申报表
- CSR法律法规及其他要求清单(RBA)2024.3
- T-ZJPA 002-2023 注射剂包装密封性检查 微生物挑战:浸入式暴露试验要求
- 廉洁应征承诺书
- 语文教师专业发展课件
- 开展绿化知识讲座
- 妇科手术后护理中的术后疼痛管理
- 商住综合体物业管理投标方案技术标
- 【小学数学教学课堂提问现状调查、问题及完善对策研究(附问卷)10000字(论文)】
- 加入中华人民共和国国籍申请书
评论
0/150
提交评论