久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

MySQL中怎么查看執行狀態

140次閱讀
沒有評論

共計 1627 個字符,預計需要花費 5 分鐘才能閱讀完成。

自動寫代碼機器人,免費開通

今天就跟大家聊聊有關 MySQL 中怎么查看執行狀態,可能很多人都不太了解,為了讓大家更加了解,丸趣 TV 小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

當感覺 mysql 性能出現問題時,通常會先看下當前 mysql 的執行狀態,使用 show processlist 來查看,例如:

MySQL 中怎么查看執行狀態

其中 state 狀態列信息非常重要,先看下各列含義,然后看下 state 常用狀態

各列的含義

1、id

一個標識,你要 kill 一個語句的時候使用,例如 mysql kill 207;

2、user

顯示當前用戶,如果不是 root,這個命令就只顯示你權限范圍內的 sql 語句

3、host

顯示這個語句是從哪個 ip 的哪個端口上發出的,可用來追蹤出問題語句的用戶

4、db

顯示這個進程目前連接的是哪個數據庫

5、command

顯示當前連接的執行的命令,一般就是休眠(sleep),查詢(query),連接(connect)

6、time

此這個狀態持續的時間,單位是秒

7、state

顯示使用當前連接的 sql 語句的狀態,很重要的列,state 只是語句執行中的某一個狀態,例如查詢,需要經過 copying to tmp table,Sorting result,Sending data 等狀態才可以完成

8、info

顯示這個 sql 語句,因為長度有限,所以長的 sql 語句就顯示不全,但是一個判斷問題語句的重要依據

state 常見狀態分析

1、Sleep

通常代表資源未釋放,如果是通過連接池,sleep 狀態應該恒定在一定數量范圍內,例如:

數據查詢時間為 0.1 秒,而網絡輸出需要 1 秒左右,原本數據連接在 0.1 秒即可釋放,但是因為前端程序未執行 close 操作,直接輸出結果,那么在結果未展現在用戶桌面前,該數據庫連接一直維持在 sleep 狀態

2、Locked

操作被鎖定,通常使用 innodb 可以很好的減少 locked 狀態的產生

3、Copy to tmp table

索引及現有結構無法涵蓋查詢條件時,會建立一個臨時表來滿足查詢要求,產生巨大的 i / o 壓力 Copy to tmp table 通常與連表查詢有關,建議減少關聯查詢或者深入優化查詢語句,如果出現此狀態的語句執行時間過長,會嚴重影響其他操作,此時可以 kill 掉該操作

4、Sending data

Sending data 并不是發送數據,是從物理磁盤獲取數據的進程,如果你的影響結果集較多,那么就需要從不同的磁盤碎片去抽取數據,如果 sending data 連接過多,通常是某查詢的影響結果集過大,也就是查詢的索引項不夠優化

5、Storing result to query cache

如果頻繁出現此狀態,使用 set profiling 分析,如果存在資源開銷在 SQL 整體開銷的比例過大(即便是非常小的開銷,看比例),則說明 query cache 碎片較多,使用 flush query cache 可即時清理,Query cache 參數可適當酌情設置

MySQL 數據庫是常見的兩個瓶頸是 CPU 和 I / O 的瓶頸,CPU 在飽和的時候一般發生在數據裝入內存或從磁盤上讀取數據時候。磁盤 I / O 瓶頸發生在裝入數據遠大于內存容量的時候,如果應用分布在網絡上,那么查詢量相當大的時候那么平瓶頸就會出現在網絡上,我們可以用 mpstat, iostat, sar 和 vmstat 來查看系統的性能狀態。

除了服務器硬件的性能瓶頸,對于 MySQL 系統本身,我們可以使用工具來優化數據庫的性能,通常有三種:使用索引,使用 EXPLAIN 分析查詢以及調整 MySQL 的內部配置。

在優化 MySQL 時,通常需要對數據庫進行分析,常見的分析手段有慢查詢日志,EXPLAIN 分析查詢,profiling 分析以及 show 命令查詢系統狀態及系統變量,通過定位分析性能的瓶頸,才能更好的優化數據庫系統的性能。

看完上述內容,你們對 MySQL 中怎么查看執行狀態有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注丸趣 TV 行業資訊頻道,感謝大家的支持。

向 AI 問一下細節

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-12-04發表,共計1627字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 德令哈市| 长宁县| 迁安市| 湖州市| 河池市| 赤城县| 宁武县| 平阴县| 宁陕县| 修水县| 新丰县| 义马市| 南皮县| 景洪市| 互助| 公安县| 襄樊市| 额尔古纳市| 东安县| 民权县| 安多县| 织金县| 清河县| 兴隆县| 铜梁县| 汝阳县| 玉田县| 防城港市| 大足县| 松溪县| 松桃| 溧阳市| 郓城县| 永宁县| 南澳县| 沭阳县| 常山县| 偃师市| 吐鲁番市| 文化| 轮台县|