日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

定位低效率执行SQL

發(fā)布時間:2024/4/14 数据库 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 定位低效率执行SQL 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

可以通過以下兩種方式定位執(zhí)行效率較低的 SQL 語句。

?

  • 慢查詢?nèi)罩?: 通過慢查詢?nèi)罩径ㄎ荒切﹫?zhí)行效率較低的 SQL 語句,用--log-slow-queries[=file_name]選項(xiàng)啟動時,mysqld 寫一個包含所有執(zhí)行時間超過 long_query_time 秒的 SQL 語句的日志文件。具體可以查看本書第 26 章中日志管理的相關(guān)部分。

  • show processlist : 慢查詢?nèi)罩驹诓樵兘Y(jié)束以后才紀(jì)錄,所以在應(yīng)用反映執(zhí)行效率出現(xiàn)問題的時候查詢慢查詢?nèi)罩静⒉荒芏ㄎ粏栴},可以使用show processlist命令查看當(dāng)前MySQL在進(jìn)行的線程,包括線程的狀態(tài)、是否鎖表等,可以實(shí)時地查看 SQL 的執(zhí)行情況,同時對一些鎖表操作進(jìn)行優(yōu)化。

1) id列,用戶登錄mysql時,系統(tǒng)分配的"connection_id",可以使用函數(shù)connection_id()查看2) user列,顯示當(dāng)前用戶。如果不是root,這個命令就只顯示用戶權(quán)限范圍的sql語句3) host列,顯示這個語句是從哪個ip的哪個端口上發(fā)的,可以用來跟蹤出現(xiàn)問題語句的用戶4) db列,顯示這個進(jìn)程目前連接的是哪個數(shù)據(jù)庫5) command列,顯示當(dāng)前連接的執(zhí)行的命令,一般取值為休眠(sleep),查詢(query),連接(connect)等6) time列,顯示這個狀態(tài)持續(xù)的時間,單位是秒7) state列,顯示使用當(dāng)前連接的sql語句的狀態(tài),很重要的列。state描述的是語句執(zhí)行中的某一個狀態(tài)。一個sql語句,以查詢?yōu)槔?#xff0c;可能需要經(jīng)過copying to tmp table、sorting result、sending data等狀態(tài)才可以完成8) info列,顯示這個sql語句,是判斷問題語句的一個重要依據(jù)

總結(jié)

以上是生活随笔為你收集整理的定位低效率执行SQL的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。