SQL優化學習筆記(一)

 

 

1.經過 show status 命令瞭解各類SQL的執行頻率html

經過 SHOW [SESSION|GLOBAL] STATUS 命令查看服務器狀態信息
SESSION 級即當前鏈接的統計結果;
GLOBAL級顯示自數據庫上次啓動至今的統計結果。
 
Com_xxx 表示每一個xxx語句執行的次數,一般關心的幾個統計參數是:
1 Com_select: 執行SELECT操做的次數,一次查詢只累加一次;
2 Com_insert: 執行INSERT操做的次數, 對於批量插入的INSERT操做,只累加一次;
3 Com_update: 執行UPDATE操做的次數;
4 Com_delete: 執行DELETE操做的次數

 Innodb_xxx 是針對存儲Innodb存儲引擎的:sql

1 Innodb_rows_deleted:執行DELETE操做刪除的行數;
2 Innodb_rows_inserted:執行INSERT操做刪除的行數;
3 Innodb_rows_read:SELECT查詢返回的行數;
4 Innodb_rows_updated:執行UPDATE操做刪除的行數

經過以上這些參數,能夠比較清晰的明白當前數據庫是以插入更新爲主仍是以查詢操做爲主,以及各種SQL大體的執行比例是多少。數據庫

對於更新操做的計數,是對執行次數的統計,不論提交和回滾都會進行累加。事務型的應用,經過Com_commit 和 Com_rollback 能夠了解到事務提交和回滾的狀況。服務器

如下幾個參數能夠了解到數據庫的基本狀況:spa

1 Connections : 試圖鏈接MySql服務器的次數;
2 Uptime:服務器工做時間;
3 Slow_queries:慢查詢次數

定位執行效率較低的SQL語句的方法: 線程

1) 經過慢查詢日誌定位那些執行效率較低的SQL(慢查詢日誌是在查詢結束之後記錄的); 日誌

2) 使用 SHOW PROCESSLIST; 命令查看當前Mysql在進行的線程。

 

歡迎轉載,轉載請註明出處 http://www.javashuo.com/article/p-tdluxoqd-by.htmlcode

相關文章
相關標籤/搜索