st05有很多trace的功能,主要使用的有兩個:
1、通過sql trace去追蹤你所執行的程式跑了那些資料庫表(例如我想知道某個主資料上的text是怎麼來的,或者是某個t-code下面的某個值是存在那個表的):
首先通過啟用trace:
然後去run你的t-code(這裡越簡潔越好,例如我是要檢視xd03裡面主資料的text是怎麼儲存和讀取的,我就進入了xd03的資料之後,再去啟用sql trace,這樣就可以省去很多無用的trace,如果你從xd03開始trace就會多很多無用資料):
看trace結果(有針對性的看,例如我這裡要想通過trace找到read_text這個fm的輸入螢幕的引數,所以我要關注tablestxh,如果你要關注更新表,你就要注意commit work,很多時候trace的結果不那麼直接明顯,還需要乙個個去嘗試):
2、通過st05去trace乙個程式的sql語句是否有可以優化的點:
通過上面1的方法去trace乙個程式,然後去分析裡面是否有重複fetch乙個表,看看fetch一次是否有超過幾十萬微妙的時間,這樣可以考慮索引是否使用正確,然後是否有重複open多次的,可以考慮是否存在loop select。。然後還有雙擊後面的select語句,可以進入去看這個sql語句的解析。
TRACE()的用法總結
trace 巨集一般是用在mfc中的,用於將除錯資訊輸出到vs的輸出視窗中 這是關鍵 這在使用vs作為開發工具的時候,是非常方便的。然而在開發一般c 程式時,卻貌似無法獲得這樣的便利,其實只要經過幾個步驟同樣可以實現 一 include 此標頭檔案包含atltrace巨集,而其實mfc做的就是 de...
編寫自己的TRACE
在編寫mfc程式時我們經常用trace輸出除錯資訊幫助除錯,但使用trace的前提條件必須是定義了 debug並且使用debug庫才行。有時候在寫某些外掛程式的時候,由於廠商只提供release版本的介面,於是只能把自己的工程中去掉 debug並還用非debug庫,雖然還屬於debug版,但 tra...
trace檔案的生成
可以幫助你找到影響sql語句引起效能問題的原因 sql trace 的執行 begin execute dbms system.set sql trace in session id serial true sql語句 select from user tables execute dbms sys...