Welcome 微信登录

首页 / 数据库 / MySQL / Oracle使用STORED OUTLINE固化执行计划--CURSOR_SHARING

Oracle执行计划存储纲要和SQL语句之间是一一对应的关系,因此如果我们改变了sql语句中的谓词条件,存储纲要就会失去作用或者说我们需要创建新的存储纲要来巩固执行计划,为了避免这种情况,我们可以使用变量来替代文本信息。在没有使用绑定变量的情况下:SQL> show user
USER 为 "EASY1"
SQL> select * from tab;TNAME          TABTYPE CLUSTERID
------------------------------ ------- ----------
T1          TABLESQL> select ol_name,creator from outln.ol$;未选定行SQL> create outline outline1 on select count(*) from t1 where object_id < 100;大纲已创建。SQL> set autotrace on explain
SQL> alter session set use_stored_outlines=true;会话已更改。SQL> select count(*) from t1 where object_id < 100;  COUNT(*)
----------
 98
执行计划
----------------------------------------------------------
Plan hash value: 3900446664--------------------------------------------------------------------------
| Id  | Operation  | Name | Rows  | Bytes | Cost (%CPU)| Time  |
--------------------------------------------------------------------------
|  0 | SELECT STATEMENT  |  |    1 |    13 |    3  (0)| 00:00:01 |
|  1 |  SORT AGGREGATE  |  |    1 |    13 |      |   |
|*  2 |  INDEX RANGE SCAN| I1  |  4411 | 57343 |    3  (0)| 00:00:01 |
--------------------------------------------------------------------------Predicate Information (identified by operation id):
---------------------------------------------------  2 - access("OBJECT_ID"<100)Note
-----
  - outline "OUTLINE1" used for this statementSQL> select count(*) from t1 where object_id < 200;  COUNT(*)
----------
      192
执行计划
----------------------------------------------------------
Plan hash value: 3900446664--------------------------------------------------------------------------
| Id  | Operation  | Name | Rows  | Bytes | Cost (%CPU)| Time  |
--------------------------------------------------------------------------
|  0 | SELECT STATEMENT  |  |    1 |    13 |    2  (0)| 00:00:01 |
|  1 |  SORT AGGREGATE  |  |    1 |    13 |      |   |
|*  2 |  INDEX RANGE SCAN| I1  |  192 |  2496 |    2  (0)| 00:00:01 |
--------------------------------------------------------------------------Predicate Information (identified by operation id):
---------------------------------------------------  2 - access("OBJECT_ID"<200)Note
-----
  - dynamic sampling used for this statement (level=2)
  • 1
  • 2
  • 3
  • 下一页
Oracle数据库shutdown immediate被hang住的几个原因Oracle绑定变量Bind Peeking相关资讯      Oracle执行计划  STORED OUTLINE 
  • 执行计划出现COLLECTION ITERATOR   (07/23/2015 16:25:04)
  • Oracle关于执行计划的简要分析  (09/23/2014 18:58:58)
  • Oracle获取执行计划的几种方法  (06/17/2013 06:42:24)
  • Oracle 执行计划中的buffer sort  (12/26/2014 19:32:05)
  • 使用hint优化Oracle的执行计划  (06/21/2014 09:53:44)
  • Oracle 全表扫描及其执行计划(full  (05/25/2013 10:01:14)
本文评论 查看全部评论 (0)
表情: 姓名: 字数