mysql檢視正在執行的語句 並且檢視執行最多的mysql語句
mysql 開啟 general log 後,所有的查詢語句都會記錄在 general log 檔案,檔案為唯讀方式,但這樣general log檔案會非常大,所以預設是關閉的。
但有時需要查錯等原因,暫時需要開啟general log。
開啟方法:
select version();//我的是5.6是支援乙個日誌的開啟。
set global general_log=1;//開啟查詢日誌
set global log_output='table';//general_log支援輸出到table: 如果開啟了table就會輸出到資料庫表中 不會輸出到檔案中
select * from mysql.general_log\g;//查詢所有sql語句的使用
select * from (select argument, count(*) as number from mysql.general_log group by argument)t
order by number desc;//降序排列使用最多的sql語句,值是mysql 的基本功哈。
建議開了1分鐘後可以關了 可以進行優化了 然後優化完了 可以清除表再開啟測試
set global general_log = off; // 關閉查詢日誌
show global variables like '%general%';
mysql檢視正在執行的sql語句
1 使用processlist,但是有個弊端,就是只能檢視正在執行的sql語句,對應歷史記錄,檢視不到。好處是不用設定,不會儲存。use information schema show processlist 或者 select from information schema.processlist...
oracle 檢視正在執行的語句
1 查詢oracle正在執行的sql語句及執行該語句的使用者 select b.sid oracleid,b.username oracle使用者,b.serial spid 作業系統id,paddr,sql text 正在執行的sql,b.machine 計算機名 from v process a...
mysql檢視正在執行的sql語句並將其kill掉
mysql檢視正在執行的sql語句並將其kill掉 好久沒寫了,最近太忙了,今天以為同事在測試機上執行了乙個儲存過程,導致該錶的查詢等一切操作沒法進行,一小會的時間資料量增加4個g,剛開始不知道什麼原因,而且資料量還在實時增加,所以就懷疑到可能是每條sql語句導致了,這就用到了查詢正在執行的sql語...