一、通過查詢器查詢當前慢sql
-- 查詢cpu前100條
order by total_elapsed_time / execution_count desc;
二、使用sql server profiler進行追蹤
1、開啟查詢器
開啟 工具 》 sql server profiler
2、點選sql server profiler(p),連線到伺服器
3、設定要儲存檔案或表
根據需要評估合適的大小,值盡可能大點。根據需要選擇停止時間。
4、選擇 事件選擇
選擇事件:rpc:completed 和 sql:batchcompleted。
rpc:completed textdata要勾上,其他列使用預設就可以。
5、再選擇列篩選器
duration:設定大於3000以上
6、選擇完成之後,點選執行即可。
解讀:textdata:依賴於跟蹤中捕獲的事件類的文字值
cpu:事件使用的cpu時間(單位毫秒)
ntusername:windows使用者名稱
reads:由伺服器代表事件讀取邏輯磁碟的次數
writes:由伺服器代表事件寫入物理磁碟的次數
duration:事件占用的時間。儘管伺服器以微秒計算持續時間,sql server profiler確能以毫秒為單位顯示該值,具體情況取決於『工具』>『選項』對話方塊中的設定 (見下圖1)
spid:sql server為客戶端的相關程序分配的伺服器程序id
starttime:事件啟動事件
endtime:事件結束事件。對指示事件開始的事件類。
圖1:
資料庫慢查詢
使用mysql慢查日誌對有效率問題的sql語句進行優 mysql show variables like slow query log 檢視伺服器慢查詢日啟 mysql set global slow query log on 開啟慢查詢日誌 mysql set global long query ...
資料庫查詢慢
今天寫了個兩個關聯的sql語句,select from a join b on a.relationid b.id where b.otherid 123 a表中的relation跟b表中的id相關聯,當執行時資料庫的執行速度突然便面了,發現這個語句的執行時間特別的長。最開始的時候認為查詢慢是因為b...
MySql資料庫慢查詢
一 什麼是資料庫慢查詢?資料庫慢查詢,就是查詢時間超過了我們設定的時間的語句。預設的設定時間是10秒。也可以自己根據實際專案設定。set long query time 0.0001 slow query log 是否開啟慢查詢日誌,1表示開啟,0表示關閉。log slow queries 舊版 5...