以unix下的oracle為例。
1、察看session當前執行的SQL語句
   使用top命令查看oracle服務進程的cpu占用情況,通常情況下單個進程占用cpu不應超過5%,如果超過10%,則可認為數據庫的檢索策略有問題。如果發生了這種情況,可能是該oracle服務進程代表的session當前執行的SQL語句耗費了大量的時間。記下該oracle服務進程的進程號PID,如“340356”,在sqlplus中使用如下的語句獲得oracle服務進程的session id及對應的應用進程信息,如進程號、主機名、程序名、正執行的SQL語句在緩沖池中的編號等:
SQL>select s.sid,s.serial#,s.process,s.machine,s.program,s.sql_hash_value from v$session s, v$process p where p.spid='340356' and s.paddr=p.addr;

獲得該oracle服務進程會話當前使用的SQL語句:

SQL>select q.sql_text from v$session s, v$process p,v$sqlarea q where p.spid='340356' and s.paddr=p.addr and s.sql_hash_value=q.hash_value;
用這個方法得到的結果并不一定準確,但效率低下的SQL往往會在會話中停留較長的時間,所以在大部分的情況下,這個方法可以對我們定位SQL語句執行效率的性能問題有所幫助。