国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

如何查看SQL執行計劃

2024-08-31 00:46:37
字體:
來源:轉載
供稿:網友

不論是做為開發DBA還是維護DBA,總是或多或少地遇到SQL執行效率或者說SQL調優問題,查看執行計劃是必須的。一般我們可以用3種方法查看:

一、explain plan for

舉例就足以說明其用法  

以下為引用的內容:

   sys@ORCL>explainplanfor
  2selectsysdatefromdual;
  Explained.
  sys@ORCL>select*fromtable(dbms_xplan.display());
  PLAN_TABLE_OUTPUT
  ----------------------------------------------------------------------------------------------------
  --------------------------------------------------------------------
  |Id|Operation|Name|Rows|Bytes|Cost|
  --------------------------------------------------------------------
  |0|SELECTSTATEMENT|||||
  |1|TABLEACCESSFULL|DUAL||||
  --------------------------------------------------------------------
  Note:rulebasedoptimization
  9rowsselected.

二、利用TKPROF工具

TKPROF是一個用于分析oracle跟蹤文件并且產生一個更加清晰合理的輸出結果的可執行工具。如果一個系統的執行效率比較低,一個比較好的方法是跟蹤用戶的會話并且使用TKPROF工具的排序功能格式化輸出,從而找出有問題的SQL語句。

TKPROF命令后面的選項及輸出文件各個列的含義在這里不做詳細的介紹。 google一下就會有很多資料。

下面簡單描述一下TKPROF工具的使用步驟:

1、在session級別設置sql_trace=true

sys@ORCL>altersessionsetsql_trace=true;
Sessionaltered.

如果要在pl/sql中對session級別設置true,可以使用dbms_system這個包:

sys@ORCL> exec dbms_system.set_sql_trace_in_session(sid,serial#,true);

2、指定一下生成的trace文件的名字,便于查找:  

sys@ORCL>altersessionsettracefile_identifier='yourname';

3、執行SQL語句。

4、利用TKPROF工具格式化輸出的trace 文件:

 [oracle@q1test01~] $tkprof/oracle/admin/orcl/udump/orcl_ora_10266_yourname.trc/oracle/yourname.txtexplain=user/pwdaggregate=yessys=nowaits=yessort=fchela

5、查看生成的文件再設置sql_trace=false: 

sys@ORCL>altersessionsetsql_trace=false;

三、set autotrace on

此種方法最常用,關于如何設置sql*plus的autotrace這里也不做詳細介紹,因為google上面資料確實太多了。有心的朋友可以去找找,保證有一大堆適合你的資料。

舉個例子,這種方法簡單易懂: 

以下為引用的內容:

   ctoc@ORCL>setautotraceon
  ctoc@ORCL>selectsysdatefromdual;
  SYSDATE
  ---------
  25-JUN-08
  ExecutionPlan
  ----------------------------------------------------------
  0SELECTSTATEMENTptimizer=CHOOSE
  10TABLEACCESS(FULL)OF'DUAL'
  Statistics
  ----------------------------------------------------------
  0recursivecalls
  0dbblockgets
  3consistentgets
  0physicalreads
  0redosize
  522bytessentviaSQL*Nettoclient
  655bytesreceivedviaSQL*Netfromclient
  2SQL*Netroundtripsto/fromclient
  0sorts(memory)
  0sorts(disk)
  1rowsprocessed

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宁化县| 银川市| 犍为县| 湟中县| 安阳市| 南漳县| 温宿县| 水城县| 临泉县| 武冈市| 禄劝| 虎林市| 南昌县| 屏山县| 马公市| 建水县| 乐都县| 鲁山县| 托克托县| 古丈县| 绥芬河市| 胶南市| 正定县| 石渠县| 宜兴市| 洞口县| 元谋县| 镇坪县| 利津县| 贵阳市| 页游| 仪征市| 广德县| 孝感市| 大田县| 奈曼旗| 甘肃省| 南宫市| 固阳县| 博罗县| 盘山县|