SQLServer資料庫慢查詢追蹤

2022-02-06 02:59:58 字數 1258 閱讀 2273

一、通過查詢器查詢當前慢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...