---優化sql 23qax02dyq3t7
1.查詢sql內容
select * from v$sql where sql_id='23qax02dyq3t7';
2.查詢執行sql的客戶端
select q.sample_time,q.sql_exec_start, q.module,q.machine,q.program from v$active_session_history q where q.sql_id='23qax02dyq3t7';
select a.username,a.schemaname,a.machine,a.program,a.module,a.client_info from v$session a where a.sql_id='&1';
3.檢視真實執行計畫
--select * from table(dbms_xplan.display_cursor('&1',&2, 'advanced -projection'));
--第乙個變數sql_id;第二個變數 一般是0
--查詢sql的實際執行計畫
set pagesize 1000 line 1000
explain plan for
select * from test where id='10';
--執行計畫
select * from table(dbms_xplan.display);
4.查詢某個表可以建立索引的列
select a.column_name,
b.num_rows,
a.num_distinct cardinlity,
round(a.num_distinct / b.num_rows * 100, 2) selectitity,
a.histogram,
a.num_buckets
fromdba_tab_col_statistics a, dba_tables b
where a.owner = b.owner
and a.table_name = b.table_name
and a.owner = '&owner'
and a.table_name = '&table_name';
5.查詢已經存在的索引
select distinct table_name,index_name,column_name,column_position,created from dba_ind_columns,dba_objects where table_name=upper('&1') and object_name = index_name order by 2,4;
6.查詢表大小
select sum(bytes/1024/1024/1024) from dba_segments where owner='&owner' and segment_name='&segment_name';
7.查詢繫結變數
select b.name,b.position,b.datatype_string,b.value_string from v$sql_bind_capture b,v$sqlarea a where b.hash_value = a.hash_value and b.sql_id = a.sql_id and a.sql_id = '&1';
8.聯絡開發給出優化建議,或者開發聯絡業務是否可以下線該sql
例如:create index ss.mno_cd_te on ss.t_ms_cd_bd (cd_uuid,ce_te desc) tablespace ss_idx online;
9.改sql近期執行次數
select a.snap_id,a.sql_id,a.instance_number,b.begin_interval_time,b.end_interval_time ,a.executions_delta,a.plan_hash_value,a.cpu_time_delta
from wrh$_sqlstat a, wrm$_snapshot b where a.snap_id = b.snap_id and a.instance_number = b.instance_number and a.sql_id = '&sql_id' order by 4, 1, 3;
10.查詢執行計畫是否改變
select a.snap_id,
a.sql_id,
a.instance_number,
b.begin_interval_time,
b.end_interval_time,
a.executions_total,
a.executions_delta,
a.plan_hash_value,
a.cpu_time_delta
from wrh$_sqlstat a, wrm$_snapshot b
where a.snap_id = b.snap_id
and a.instance_number = b.instance_number
and a.sql_id = '&sql_id'
order by 4, 1, 3;
oracle基礎 SQL優化
一 軟解析和硬解析 1 解析過程 1 語法 語義分析 2 許可權和物件檢查 3 在共享池中進行檢測是否有已解析的相同sql,如果存在 則跳過4 5 執行軟解析,4 5成本比較高 所以要避免硬解析,繫結變數 4 選擇執行計畫 可能有多個執行計畫數 5 生成執行計畫 2 檢視解析結果 select ha...
oracle 技巧 sql 優化
it168 技術文件 一 問題的提出 在應用系統開發初期,由於開發資料庫資料比較少,對於查詢sql語句,複雜檢視的的編寫等體會不出sql語句各種寫法的效能優劣,但是如果將應用系統提交實際應用後,隨著資料庫中資料的增加,系統的響應速度就成為目前系統需要解決的最主要的問題之一。系統優化中乙個很重要的方面...
oracle進行sql優化
優化前 select sqdbh,sqr,bm,sqrq,skdwbm,skdwmc,sqfkje n as xz flag sjfkrq,fkdwkhyh from yw fksqd inner join rs department on bm d no left join cw znhs rk ...