1.分別執(zhí)行下列SQL
點(diǎn)擊(此處)折疊或打開

專業(yè)從事成都做網(wǎng)站、成都網(wǎng)站建設(shè)、成都外貿(mào)網(wǎng)站建設(shè),高端網(wǎng)站制作設(shè)計(jì),微信小程序定制開發(fā),網(wǎng)站推廣的成都做網(wǎng)站的公司。優(yōu)秀技術(shù)團(tuán)隊(duì)竭力真誠服務(wù),采用H5技術(shù)+CSS3前端渲染技術(shù),響應(yīng)式網(wǎng)站建設(shè),讓網(wǎng)站在手機(jī)、平板、PC、微信下都能呈現(xiàn)。建站過程建立專項(xiàng)小組,與您實(shí)時(shí)在線互動(dòng),隨時(shí)提供解決方案,暢聊想法和感受。
-
SQL1:select /*www1*/ /*+ full(LOGIN_LOG) */IP_ADDRESS from LOGIN_LOG where session_id=1273523;
-
SQL2:select /*www2*/ /*+ index(LOGIN_LOG LOGIN_LOG_PK) */IP_ADDRESS from LOGIN_LOG where session_id=1273523;
2.查看SQL_ID和PLAN_HASH_VALUE
-
select * from v$sql where sql_text like '%www1%'
-
select * from v$sql where sql_text like '%www2%'
-
SQL1: 2pqkr80bqn6wb 3779830307
-
SQL2: 7510s3wam524g 3865870674
3.查看執(zhí)行計(jì)劃
-
SQL1
-
SQL> select * from table(dbms_xplan.display_cursor('2pqkr80bqn6wb','',''));
-
PLAN_TABLE_OUTPUT
-
--------------------------------------------------------------------------------
-
SQL_ID 2pqkr80bqn6wb, child number 0
-
-------------------------------------
-
select /*www1*/ /*+ full(LOGIN_LOG) */IP_ADDRESS from LOGIN_LOG where
-
session_id=1273523
-
Plan hash value: 3779830307
-
-------------------------------------------------------------------------------
-
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
-
-------------------------------------------------------------------------------
-
| 0 | SELECT STATEMENT | | | | 95461 (100)| |
-
PLAN_TABLE_OUTPUT
-
--------------------------------------------------------------------------------
-
|* 1 | TABLE ACCESS FULL| LOGIN_LOG | 286K| 10M| 95461 (1)| 00:19:06 |
-
-------------------------------------------------------------------------------
-
Predicate Information (identified by operation id):
-
---------------------------------------------------
-
1 - filter("SESSION_ID"=1273523)
-
-
19 rows selected.
-
SQL2
-
SQL> select * from table(dbms_xplan.display_cursor('7510s3wam524g','',''));
-
PLAN_TABLE_OUTPUT
-
--------------------------------------------------------------------------------
-
SQL_ID 7510s3wam524g, child number 0
-
-------------------------------------
-
select /*www2*/ /*+ index(LOGIN_LOG LOGIN_LOG_PK) */IP_ADDRESS from
-
LOGIN_LOG where session_id=1273523
-
Plan hash value: 3865870674
-
--------------------------------------------------------------------------------
-
------------
-
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)
-
PLAN_TABLE_OUTPUT
-
--------------------------------------------------------------------------------
-
| Time |
-
--------------------------------------------------------------------------------
-
------------
-
| 0 | SELECT STATEMENT | | | | 3433 (100)
-
| |
-
| 1 | TABLE ACCESS BY INDEX ROWID| LOGIN_LOG | 286K| 10M| 3433 (1)
-
| 00:00:42 |
-
-
PLAN_TABLE_OUTPUT
-
--------------------------------------------------------------------------------
-
|* 2 | INDEX RANGE SCAN | LOGIN_LOG_PK | 114K| | 3 (0)
-
| 00:00:01 |
-
--------------------------------------------------------------------------------
-
------------
-
-
Predicate Information (identified by operation id):
-
---------------------------------------------------
-
2 - access("SESSION_ID"=1273523)
-
PLAN_TABLE_OUTPUT
-
--------------------------------------------------------------------------------
-
-
20 rows selected.
4.從庫緩存中為SQL1創(chuàng)建baseline
-
DECLARE
-
l_plans_loaded PLS_INTEGER;
-
BEGIN
-
l_plans_loaded := DBMS_SPM.load_plans_from_cursor_cache(sql_id => '2pqkr80bqn6wb',plan_hash_value=>'3779830307');
-
END;
-
/
-
select sql_handle,plan_name,dbms_lob.substr(sql_text,60,1) sql_text,ACCEPTED from dba_sql_plan_baselines;
-
SQL_d3e16c6839796f24 SQL_PLAN_d7sbcd0wrkvt433a13db8 select /*www1*/ /*+ full(LOGIN_LOG) */IP_ADDRESS from LOGIN_ YES
5.將符合我們預(yù)期的SQL2的執(zhí)行計(jì)劃的載入到第一次生成的sql baseline中
-
DECLARE
-
k1 pls_integer;
-
begin
-
k1 := DBMS_SPM.LOAD_PLANS_FROM_CURSOR_CACHE (
-
sql_id=>'7510s3wam524g',
-
plan_hash_value=>3865870674,sql_handle=>'SQL_d3e16c6839796f24'
-
);
-
end;
-
/
-
基線SQL_d3e16c6839796f24出現(xiàn)2個(gè)執(zhí)行計(jì)劃
-
select sql_handle,plan_name,dbms_lob.substr(sql_text,60,1) sql_text,ACCEPTED from dba_sql_plan_baselines;
-
SQL_d3e16c6839796f24 SQL_PLAN_d7sbcd0wrkvt433a13db8 select /*www1*/ /*+ full(LOGIN_LOG) */IP_ADDRESS from LOGIN_ YES
-
SQL_d3e16c6839796f24 SQL_PLAN_d7sbcd0wrkvt47b166b46 select /*www1*/ /*+ full(LOGIN_LOG) */IP_ADDRESS from LOGIN_ YES
6.修改原先SQL2執(zhí)行計(jì)劃的狀態(tài)為fixed
-
SET SERVEROUTPUT ON
-
DECLARE
-
v_text PLS_INTEGER;
-
BEGIN
-
v_text := DBMS_SPM.alter_sql_plan_baseline(sql_handle => 'SQL_d3e16c6839796f24',plan_name => 'SQL_PLAN_d7sbcd0wrkvt47b166b46',
-
attribute_name => 'fixed',attribute_value => 'YES');
-
DBMS_OUTPUT.put_line('Plans Altered: ' || v_text );
-
END;
-
/
-
select sql_handle,plan_name,dbms_lob.substr(sql_text,60,1) sql_text,ACCEPTED,FIXED from dba_sql_plan_baselines;
-
SQL_d3e16c6839796f24 SQL_PLAN_d7sbcd0wrkvt433a13db8 select /*www1*/ /*+ full(LOGIN_LOG) */IP_ADDRESS from LOGIN_ YES NO
-
SQL_d3e16c6839796f24 SQL_PLAN_d7sbcd0wrkvt47b166b46 select /*www1*/ /*+ full(LOGIN_LOG) */IP_ADDRESS from LOGIN_ YES YES
7.原SQL1執(zhí)行計(jì)劃被改變
-
SQL> select /*www1*/ /*+ full(LOGIN_LOG) */IP_ADDRESS from LOGIN_LOG where session_id=1273523;
-
Execution Plan
-
----------------------------------------------------------
-
--------------------------------------------------------------------------------
-
-
-
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)
-
|
-
--------------------------------------------------------------------------------
-
-
-
| 0 | SELECT STATEMENT | | 286K| 10M| 3433 (1)
-
|
-
| 1 | TABLE ACCESS BY INDEX ROWID| LOGIN_LOG | 286K| 10M| 3433 (1)
-
|
-
| 2 | INDEX RANGE SCAN | LOGIN_LOG_PK | 114K| | 3 (0)
-
|
-
--------------------------------------------------------------------------------
-
-
-
-
Note
-
-----
-
- 'PLAN_TABLE' is old version
-
-
Statistics
-
----------------------------------------------------------
-
18 recursive calls
-
16 db block gets
-
19 consistent gets
-
4 physical reads
-
11856 redo size
-
541 bytes sent via SQL*Net to client
-
524 bytes received via SQL*Net from client
-
2 SQL*Net roundtrips to/from client
-
0 sorts (memory)
-
0 sorts (disk)
-
1 rows processed
-
-
SQL> select * from table(dbms_xplan.display_cursor('2pqkr80bqn6wb','',''));
-
PLAN_TABLE_OUTPUT
-
--------------------------------------------------------------------------------
-
SQL_ID 2pqkr80bqn6wb, child number 0
-
-------------------------------------
-
select /*www1*/ /*+ full(LOGIN_LOG) */IP_ADDRESS from LOGIN_LOG where
-
session_id=1273523
-
Plan hash value: 3779830307
-
-------------------------------------------------------------------------------
-
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
-
-------------------------------------------------------------------------------
-
| 0 | SELECT STATEMENT | | | | 95461 (100)| |
-
PLAN_TABLE_OUTPUT
-
--------------------------------------------------------------------------------
-
|* 1 | TABLE ACCESS FULL| LOGIN_LOG | 286K| 10M| 95461 (1)| 00:19:06 |
-
-------------------------------------------------------------------------------
-
Predicate Information (identified by operation id):
-
---------------------------------------------------
-
1 - filter("SESSION_ID"=1273523)
-
SQL_ID 2pqkr80bqn6wb, child number 2
-
-------------------------------------
-
select /*www1*/ /*+ full(LOGIN_LOG) */IP_ADDRESS from LOGIN_LOG where
-
PLAN_TABLE_OUTPUT
-
--------------------------------------------------------------------------------
-
session_id=1273523
-
Plan hash value: 3865870674
-
--------------------------------------------------------------------------------
-
------------
-
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)
-
| Time |
-
--------------------------------------------------------------------------------
-
PLAN_TABLE_OUTPUT
-
--------------------------------------------------------------------------------
-
------------
-
| 0 | SELECT STATEMENT | | | | 3433 (100)
-
| |
-
| 1 | TABLE ACCESS BY INDEX ROWID| LOGIN_LOG | 286K| 10M| 3433 (1)
-
| 00:00:42 |
-
|* 2 | INDEX RANGE SCAN | LOGIN_LOG_PK | 114K| | 3 (0)
-
| 00:00:01 |
-
-
PLAN_TABLE_OUTPUT
-
--------------------------------------------------------------------------------
-
--------------------------------------------------------------------------------
-
------------
-
-
Predicate Information (identified by operation id):
-
---------------------------------------------------
-
2 - access("SESSION_ID"=1273523)
-
Note
-
-----
-
PLAN_TABLE_OUTPUT
-
--------------------------------------------------------------------------------
-
- SQL plan baseline SQL_PLAN_d7sbcd0wrkvt47b166b46 used for this statement
-
-
43 rows selected.
本文題目:使用sqlbaseline替換執(zhí)行計(jì)劃
文章位置:http://sd-ha.com/article26/iecccg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、面包屑導(dǎo)航、企業(yè)建站、標(biāo)簽優(yōu)化、網(wǎng)站策劃、自適應(yīng)網(wǎng)站
廣告
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源:
創(chuàng)新互聯(lián)