操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    相信大家在平時工作中都有過 SQL 優化經歷,那么在優化前就必須找到慢 SQL 方可進行分析。這篇文章就介紹下如何定位到慢查詢。

    慢查詢日志是 MySQL 內置的一項功能,可以記錄執行超過指定時間的 SQL 語句。

    以下是慢查詢的相關參數,大家感興趣的可以看下:

    參數含義

    日志輸出位置,默認為 FILE,即保存為文件,若設置為 TABLE,則將日志記錄到 mysql. 表中,支持設置多種格式

    指定慢查詢日志文件的路徑和名字,可使用絕對路徑指定,默認值是主機名-slow.log,位于配置的 目錄

    執行時間超過該值才記錄到慢查詢日志,單位為秒,默認為 10

    it

    mysql 查詢慢sql_mysql數據庫查詢慢_mysql 查詢慢sql語句

    對于查詢掃描行數小于此參數的SQL,將不會記錄到慢查詢日志中,默認為 0

    是否將未使用索引的 SQL 記錄到慢查詢日志中,開啟此配置后會無視 參數,默認為 OFF

    設定每分鐘記錄到日志的未使用索引的語句數目,超過這個數目后只記錄語句數量和花費的總時間,默認為 0

    log-slow-admin-

    記錄執行緩慢的管理 SQL,如 ALTER TABLE、 TABLE、CHECK TABLE、 INDEX、DROP INDEX、 TABLE 和 TABLE,默認為 OFF

    ments

    記錄從庫上執行的慢查詢語句,如果 的值為 row,則失效,默認為 OFF

    mysql 查詢慢sql_mysql 查詢慢sql語句_mysql數據庫查詢慢

    開啟慢查詢

    有兩種方式可以開啟慢查詢

    修改配置文件設置全局變量

    方式一需要修改配置文件 my.ini,在[]段落中加入如下參數:

    [mysqld]
    log_output='FILE,TABLE'
    slow_query_log='ON'
    long_query_time=0.001

    然后需要重啟 MySQL 才可以生效,命令為

    方式二無需重啟即可生效,但是重啟會導致設置失效,設置的命令如下所示:

    SET?GLOBAL?slow_query_log?=?'ON';
    SET?GLOBAL?log_output?=?'FILE,TABLE';
    SET?GLOBAL?long_query_time?=?0.001;

    這樣就可以將慢查詢日志同時記錄在文件以及 mysql. 表中。

    mysql 查詢慢sql語句_mysql 查詢慢sql_mysql數據庫查詢慢

    通過第二種方式開啟慢查詢日志,然后使用全表查詢語句 * FROM user

    然后再查詢慢查詢日志: * FROM mysql.,可以發現其中有這樣一條記錄:

    其中, 為執行時間, 為用戶的主機名, 為查詢所花費的時間, 為該查詢使用鎖的時間, 為這條查詢返回了多少數據給客戶端,表示這條語句掃描了多少行mysql數據庫查詢慢,db 為數據庫, 為這條 SQL, 為執行這條查詢的線程 id。

    這樣我們就可以通過 表的數據進行分析,然后對 SQL 進行調優了。

    以上是通過 Table 來進行分析的,下面來通過文件的慢查詢是怎么樣的。

    如果不知道文件保存在哪里,可以使用 SHOW LIKE '%%' 來查看文件保存位置,打開慢查詢日志文件,可以看出每五行表示一個慢 SQL,這樣查看比較費事,可以使用一些工具來查看。

    mysql數據庫查詢慢_mysql 查詢慢sql_mysql 查詢慢sql語句

    慢查詢日志文件

    MySQL 內置了 這個工具來幫助我們分析慢查詢日志文件, 環境下使用該工具需要安裝 Perl 環境。

    可以通過 -help 來查看它的命令參數:

    help

    比如我們可以通過 -s t 10 --slow.log 命令得到按照查詢時間排序的 10 條 SQL 。

    結果pt-query-

    除此之外還有 pt-query-,這個是 中的工具之一,下載地址:,如果是 系統,可以在安裝 Perl 的環境下,把腳本下載下來:

    mysql 查詢慢sql語句_mysql 查詢慢sql_mysql數據庫查詢慢

    下面先對 pt-query- 進行簡單的介紹:

    pt-query- 是用于分析 MySQL 慢查詢的一個第三方工具,可以分析 、 log 和 ,也可以通過 或者通過 抓取的 MySQL 協議數據來進行分析,可以把分析結果輸出到文件中,分析過程是先對查詢語句的條件進行參數化,然后對參數化以后的查詢進行分組統計,統計出各查詢的執行時間、次數、占比等,可以借助分析結果找出問題進行優化。

    有興趣的可以先下載下來自己玩玩,將在后續的文章中對 pt-query- 工具進行詳細介紹。

    show

    還有種情況是慢查詢還在執行中,慢查詢日志里是找不到慢 SQL 呢,這個時候可以用 show 命令來尋找慢查詢mysql數據庫查詢慢,該命令可以顯示正在運行的線程,執行結果如下圖所示,可以根據 Time 的大小來判斷是否為慢查詢。

    show 總結

    這篇文章主要講解了如何定位慢查詢以及簡單介紹了 和 pt-query- 工具,后續還會講解 和 show 以及 trace 等常用的方法。

    你在定位慢查詢或者優化 SQL 時,都會用到哪些方法呢?

    感謝大家的閱讀,歡迎留言進行交流討論。

    最好的關系就是互相成就,大家的在看、轉發、留言三連就是我創作的最大動力。

    參考文檔

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有