如何查看SQL執(zhí)行計(jì)劃_Mssql數(shù)據(jù)庫教程
推薦:解析修復(fù)SQL Server的MDF文件的方法如果備份的數(shù)據(jù)庫有2個(gè)文件,分別是.LDF 和 .MDF,打開企業(yè)管理器,在實(shí)例上右擊---所有任務(wù)--附加數(shù)據(jù)庫,然后選擇那個(gè).MDF文件,就可以了。 或者在查詢分析器中輸入: sp_at
不論是做為開發(fā)DBA還是維護(hù)DBA,總是或多或少地遇到SQL執(zhí)行效率或者說SQL調(diào)優(yōu)問題,查看執(zhí)行計(jì)劃是必須的。一般我們可以用3種方法查看:
一、explain plan for
舉例就足以說明其用法
| 以下為引用的內(nèi)容:
sys@ORCL>explainplanfor |
二、利用TKPROF工具
TKPROF是一個(gè)用于分析oracle跟蹤文件并且產(chǎn)生一個(gè)更加清晰合理的輸出結(jié)果的可執(zhí)行工具。如果一個(gè)系統(tǒng)的執(zhí)行效率比較低,一個(gè)比較好的方法是跟蹤用戶的會(huì)話并且使用TKPROF工具的排序功能格式化輸出,從而找出有問題的SQL語句。
TKPROF命令后面的選項(xiàng)及輸出文件各個(gè)列的含義在這里不做詳細(xì)的介紹。 google一下就會(huì)有很多資料。
下面簡單描述一下TKPROF工具的使用步驟:
1、在session級(jí)別設(shè)置sql_trace=true
sys@ORCL>altersessionsetsql_trace=true;
Sessionaltered.
如果要在pl/sql中對(duì)session級(jí)別設(shè)置true,可以使用dbms_system這個(gè)包:
sys@ORCL> exec dbms_system.set_sql_trace_in_session(sid,serial#,true);
2、指定一下生成的trace文件的名字,便于查找:
sys@ORCL>altersessionsettracefile_identifier='yourname';
3、執(zhí)行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、查看生成的文件再設(shè)置sql_trace=false:
sys@ORCL>altersessionsetsql_trace=false;
三、set autotrace on
此種方法最常用,關(guān)于如何設(shè)置sql*plus的autotrace這里也不做詳細(xì)介紹,因?yàn)間oogle上面資料確實(shí)太多了。有心的朋友可以去找找,保證有一大堆適合你的資料。
舉個(gè)例子,這種方法簡單易懂:
| 以下為引用的內(nèi)容:
ctoc@ORCL>setautotraceon |
分享:解讀SQL中自己創(chuàng)建函數(shù) 分割字符串以下為引用的內(nèi)容: if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[getEPnum]') and xtype in (N'FN', N
- sql 語句練習(xí)與答案
- 深入C++ string.find()函數(shù)的用法總結(jié)
- SQL Server中刪除重復(fù)數(shù)據(jù)的幾個(gè)方法
- sql刪除重復(fù)數(shù)據(jù)的詳細(xì)方法
- SQL SERVER 2000安裝教程圖文詳解
- 使用sql server management studio 2008 無法查看數(shù)據(jù)庫,提示 無法為該請(qǐng)求檢索數(shù)據(jù) 錯(cuò)誤916解決方法
- SQLServer日志清空語句(sql2000,sql2005,sql2008)
- Sql Server 2008完全卸載方法(其他版本類似)
- sql server 2008 不允許保存更改,您所做的更改要求刪除并重新創(chuàng)建以下表
- SQL Server 2008 清空刪除日志文件(瞬間日志變幾M)
- Win7系統(tǒng)安裝MySQL5.5.21圖解教程
- 將DataTable作為存儲(chǔ)過程參數(shù)的用法實(shí)例詳解
Mssql數(shù)據(jù)庫教程Rss訂閱編程教程搜索
Mssql數(shù)據(jù)庫教程推薦
- SQL Server 2000數(shù)據(jù)庫崩潰后的補(bǔ)救措施
- SQL2008定時(shí)任務(wù)作業(yè)創(chuàng)建教程
- 給SQL Server 2008 安裝安全審計(jì)
- sql2008啟動(dòng)代理未將對(duì)象應(yīng)用到實(shí)例解決方案
- sql2008 還原數(shù)據(jù)庫解決方案
- sql server查詢時(shí)間技巧分享
- 3個(gè)步驟結(jié)束網(wǎng)站惡夢(mèng)-SQL注入隱患!
- 深入淺出SQL教程之嵌套SELECT語句
- 淺談SQL Server 2008數(shù)據(jù)挖掘查詢?nèi)蝿?wù)
- SQL SERVER與ACCESS、EXCEL的數(shù)據(jù)轉(zhuǎn)換
猜你也喜歡看這些
- PHP mysqli擴(kuò)展庫 預(yù)處理技術(shù)的使用分析
- 如何用workbench導(dǎo)出mysql數(shù)據(jù)庫關(guān)系圖
- MySQL數(shù)據(jù)庫備份和還原的常用命令
- mysql出現(xiàn)“Incorrect key file for table”處理方法
- 解析MySQL中INSERT INTO SELECT的使用
- JDBC數(shù)據(jù)庫的使用操作總結(jié)
- MYSQL SET類型字段的SQL操作知識(shí)介紹
- mysql 按照時(shí)間段來獲取數(shù)據(jù)的方法
- mysql創(chuàng)建新用戶的命令
- 解決MYSQL出現(xiàn)Can''t create/write to file ''#sql_5c0_0.MYD''的問題
- 相關(guān)鏈接:
- 教程說明:
Mssql數(shù)據(jù)庫教程-如何查看SQL執(zhí)行計(jì)劃
。