美文网首页
oracle sql 优化

oracle sql 优化

作者: 第八共同体 | 来源:发表于2019-10-22 16:41 被阅读0次

1.找出两个表中的差异记录,比如:

select hx_stock_label.code,
hx_stock_label.affect,
hx_stock_label.label_name,
hx_stock_label.label_type,
hx_stock_label.specification
from hx_stock_label 
minus 
select zs_stock_label.code,
zs_stock_label.affect,
zs_stock_label.label_name,
zs_stock_label.label_type,
zs_stock_label.specification
from zs_stock_label; 

2. 查询语句的执行计划



explain plan for 
select * from zs_min_plate_0 where plate_id=19522290 and publish_at_ts between 1568681444 and 1568683444;

select * from table(dbms_xplan.display);


PLAN_TABLE_OUTPUT                                                                                                                                                                                                                                                                                          
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Plan hash value: 2543244395                                                                                                                                                                                                                                                                                  
                                                                                                                                                                                                                                                                                                             
----------------------------------------------------------------------------------------------------------                                                                                                                                                                                                   
| Id  | Operation                           | Name               | Rows  | Bytes | Cost (%CPU)| Time     |                                                                                                                                                                                                   
----------------------------------------------------------------------------------------------------------                                                                                                                                                                                                   
|   0 | SELECT STATEMENT                    |                    |     1 |    70 |     7   (0)| 00:00:01 |                                                                                                                                                                                                   
|*  1 |  TABLE ACCESS BY INDEX ROWID BATCHED| ZS_MIN_PLATE_0     |     1 |    70 |     7   (0)| 00:00:01 |                                                                                                                                                                                                   
|*  2 |   INDEX RANGE SCAN                  | ZS_PUBLISH_AT_TS_0 |     5 |       |     3   (0)| 00:00:01 |                                                                                                                                                                                                   
----------------------------------------------------------------------------------------------------------                                                                                                                                                                                                   
                                                                                                                                                                                                                                                                                                             
Predicate Information (identified by operation id):                                                                                                                                                                                                                                                          
---------------------------------------------------                                                                                                                                                                                                                                                          
                                                                                                                                                                                                                                                                                                             
   1 - filter("PLATE_ID"=19522290)                                                                                                                                                                                                                                                                           
   2 - access("PUBLISH_AT_TS">=1568681444 AND "PUBLISH_AT_TS"<=1568683444)                                                                                                                                                                                                                                   
                                                                                                                                                                                                                                                                                                             
Note                                                                                                                                                                                                                                                                                                         
-----                                                                                                                                                                                                                                                                                                        
   - dynamic statistics used: dynamic sampling (level=2)                                                                                                                                                                                                                                                     
   - 1 Sql Plan Directive used for this statement     

其他示例:

explain plan for  
select * from zs_min_plate_0 where plate_id=19522290
and publish_at  in ('2019-09-17 14:59:00','2019-09-17 15:00:00');
select * from table(dbms_xplan.display);
Plan hash value: 3840775950
 
-------------------------------------------------------------------------------------------------------------
| Id  | Operation                    | Name                         | Rows  | Bytes | Cost (%CPU)| Time     |
-------------------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT             |                              |     4 |   280 |     6   (0)| 00:00:01 |
|   1 |  INLIST ITERATOR             |                              |       |       |            |          |
|   2 |   TABLE ACCESS BY INDEX ROWID| ZS_MIN_PLATE_0               |     4 |   280 |     6   (0)| 00:00:01 |
|*  3 |    INDEX UNIQUE SCAN         | UK_PXUIK5E3ORKFX81UQ29H8SOTN |     2 |       |     4   (0)| 00:00:01 |
-------------------------------------------------------------------------------------------------------------
 
Predicate Information (identified by operation id):
---------------------------------------------------
 
   3 - access("PLATE_ID"=19522290 AND ("PUBLISH_AT"=TO_DATE(' 2019-09-17 14:59:00', 'syyyy-mm-dd 
              hh24:mi:ss') OR "PUBLISH_AT"=TO_DATE(' 2019-09-17 15:00:00', 'syyyy-mm-dd hh24:mi:ss')))
 
Note
-----
   - dynamic statistics used: dynamic sampling (level=2)
   - 1 Sql Plan Directive used for this statement

explain plan for 
 select * from ( select zs.time_stamp as col_0_0_ 
 from zs_large_stocks zs  
 order by zs.id desc ) where rownum <= 1; 
 select * from table(dbms_xplan.display);
Plan hash value: 3321757206
 
-------------------------------------------------------------------------------------------------
| Id  | Operation                     | Name            | Rows  | Bytes | Cost (%CPU)| Time     |
-------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT              |                 |     1 |    13 |     3   (0)| 00:00:01 |
|*  1 |  COUNT STOPKEY                |                 |       |       |            |          |
|   2 |   VIEW                        |                 |     1 |    13 |     3   (0)| 00:00:01 |
|   3 |    TABLE ACCESS BY INDEX ROWID| ZS_LARGE_STOCKS |  1430 | 14300 |     3   (0)| 00:00:01 |
|   4 |     INDEX FULL SCAN DESCENDING| SYS_C0015757    |     1 |       |     2   (0)| 00:00:01 |
-------------------------------------------------------------------------------------------------
 
Predicate Information (identified by operation id):
---------------------------------------------------
 
   1 - filter(ROWNUM<=1)

相关文章

  • Oracle SQL优化学习

    Oracle SQL优化进阶学习 引言 对于下面的Oracle分页如何优化该段语句: SELECT * FROM ...

  • oracle sql 优化

    1.找出两个表中的差异记录,比如: 2. 查询语句的执行计划 其他示例:

  • Oracle sql优化

    (1)选择最有效率的表名顺序(只在基于规则的优化器中有效): ORACLE的解析器按照从右到左的顺序处理FROM子...

  • Oracle提高SQL执行效率的三种方法

    Oracle提高SQL执行效率的三种方法 (修改了一下) 要提高SQL在Oracle里的执行效率,优化应用的业务逻...

  • Java技术面试问题小结

    ArrayList和linkedList的区别。 Oracle SQL优化。 设计模式 1 ArrayList和l...

  • Oracle cursor学习笔记

    @[toc]最近在看《基于oracle的sql优化》一书,并做了笔记 一、oracle库缓存 1.1、库缓存简介 ...

  • oracle视频教程入门运维DBA性能优化OCP培训SQL数据库

    oracle视频教程入门运维DBA性能优化OCP培训SQL数据库在线课程 ORACLE数据库系统是美国ORACLE...

  • RBO和CBO详解

    RBO和CBO的基本概念 Oracle数据库中的优化器又叫查询优化器(Query Optimizer)。它是SQL...

  • sql优化 - 基于oracle

    select语句优化 select查询的生命周期 在共享池中搜索sql语句是否存在 -- 缓存 验证sql语句...

  • ORACLE里SQL优化

    这周一直在做一个需求,是关于ORACLE性能优化方面的,针对这种情况,这周也看了不少的资料,在此,也写点自...

网友评论

      本文标题:oracle sql 优化

      本文链接:https://www.haomeiwen.com/subject/npohuctx.html