优化SQL步骤——查看SQL执行频率 || 定位低效率执行SQL
優化SQL步驟
在應用的的開發過程中,由于初期數據量小,開發人員寫 SQL 語句時更重視功能上的實現,
但是當應用系統正式上線后,隨著生產數據量的急劇增長,很多 SQL 語句開始逐漸顯露出性能問題,對生產的影響也越來越大,
此時這些有問題的 SQL 語句就成為整個系統性能的瓶頸,因此我們必須要對它們進行優化,
當面對一個有 SQL 性能問題的數據庫時,我們應該從何處入手來進行系統的分析,使得能夠盡快定位問題 SQL 并盡快解決問題。
查看SQL執行頻率
MySQL 客戶端連接成功后,
通過 show [session|global] status 命令可以提供服務器狀態信息。
show[session|global] status 可以根據需要加上參數“session”或者“global”來顯示 session 級(當前連接)的計結果和global 級(自數據庫上次啟動至今)的統計結果。
如果不寫,默認使用參數是“session”。下面的命令顯示了當前 session 中所有統計參數的值:
show? status? like??? 'Com_______' ;
show? status? like? 'Innodb_rows_%' ;
Com_xxx 表示每個 xxx 語句執行的次數,我們通常比較關心的是以下幾個統計參數。
Com_*** : 這些參數對于所有存儲引擎的表操作都會進行累計。
Innodb_*** : 這幾個參數只是針對InnoDB 存儲引擎的,累加的算法也略有不同。
?
定位低效率執行SQL
show processlist? 命令查看當前MySQL在進行的線程
總結
以上是生活随笔為你收集整理的优化SQL步骤——查看SQL执行频率 || 定位低效率执行SQL的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 存储引擎——概述|| 各种存储引擎的特性
- 下一篇: 优化SQL步骤—— explain分析执