天天看點

oracle 執行sql效率,用Oracle的tkprof分析SQL執行效率

用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列有一個索引,查詢語句仍然執行一次全表掃描。

&nbsp ......

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;

當往部門表插入時,同時在員工表� ......