用Oracle的tkprof分析SQL執行效率
用Oracle的tkprof分析SQL執行效率
1、打開跟蹤
SQL> alter session set sql_trace=true;
2、執行SQL
SQL> select count(*) from xxxx;
3、關閉跟蹤
SQL> alter session set sql_trace=false
4、找到trc檔案
目标檔案目錄在:
SQL> select value from v$parameter where
name='user_dump_dest';
5、變換trc檔案為可讀格式
tkprof ora10g_ora_26292.trc tkprof0702 explain=username/password
sort=exeela
sort有exeela:執行時間;prsela:文法分析時間;fchela:提取時間
相關文檔:
oracle表空間操作詳解
1
2
3作者: 來源: 更新日期:2006-01-04
5
6
7建立表空間
8
9CREATE TABLESPACE data01
10DATAFILE '/ora ......
Oracle 10g statistic資料統計,Oracle會根據這些統計資訊來決定是走RBO(Rule-BasedOptimization),還是走CBO(Cost-BasedOptimization),會去選擇哪種執行計劃更劃算,影響是否走相關的索引等.如果是CBO的話,它依靠準确的(或者說比較準确的)統計資訊來産生優化的執行路徑,如果沒有做過統計,CBO也就沒有做cost評估的依據 ......
限制索引是一些沒有經驗的開發人員經常犯的錯誤之一。在SQL中有很多陷阱會使一些索引無法使用。下面讨論一些常見的問題:
1 使用不等于操作符(<>、!=)
下面的查詢即使在cust_rating列有一個索引,查詢語句仍然執行一次全表掃描。
  ......
select * from (select t.*,rownum rn from (select * from emp) t where rownum<=10) where rn>=6;
建立分頁結果集的遊标
create or replace package fenyepackage as
type testcursor is ref cursor;
end fenyepackage;
建立分頁存儲過程
create or replace procedure fenye3(
tableName varchar2, --表名 ......
Oracle 觸發器有語句級觸發器和行級觸發器
語句級觸發器 當删除部門表中的部門号時,同時删除掉員工表中部門号為:old.deptno的記錄
create or replace trigger del_dept_id
after delete on dept
for each row
begin
delete from emp where deptno=:old.deptno;
end;
當往部門表插入時,同時在員工表� ......