(1)、通過show status命令了解各種sql的執行頻率。
(2)、定位執行效率較低的sql語句-(重點select)
(3)、通過explain分析低效率的sql語句的執**況
(4)、確定問題並採取相應的優化措施
(1) 通過showstatus命令了解各種sql的執行頻率
mysql客戶端連線成功後,通過使用show[session|global] status 命令可以提供伺服器狀態資訊。其中的session來表示當前的連線的統計結果,global來表示自資料庫上次啟動至今的統計結果。預設是session級別的。
下面的例子: show status like 『com_%』;
其中com_***表示***語句所執行的次數。
重點注意:
com_select,com_insert,com_update,com_delete通過這幾個引數,可以容易地了解到當前資料庫的應用是以插入更新為主還是以查詢操作為主,以及各類的sql大致的執行比例是多少。
引數說明:
com_***表示每個***語句的執行次數.如:
com_select 表示執行select操作的次數,一次查詢只累計加1
com_update 表示執行update操作的次數
com_insert 表示執行insert操作的次數,對批量插入只算一次
com_delete 表示執行delete操作的次數
只針對innodb儲存引擎的引數
innodb_rows_deleted執行delete操作所影響的行數
innodb_rows_inserted執行insert操作所影響的行數
innodb_rows_read執行select操作所影響的行數
innodb_rows_updated執行update操作所影響的行數
還有幾個常用的引數便於使用者了解資料庫的基本情況。
connections:試圖連線mysql伺服器的次數(成功or失敗都會進行累加)
uptime:伺服器工作的時間(單位秒)
slow_queries:慢查詢的次數 (預設是10)
(2)、定位執行效率較低的sql語句
通過開啟慢查詢
(3)、通過explain分析低效率的sql語句的執**況
(4)、確定問題並採取相應的優化措施
小貝 mysql sql語句優化過程
1 通過show status命令了解各種sql的執行頻率。2 定位執行效率較低的sql語句 重點select 3 通過explain分析低效率的sql語句的運 況 4 確定問題並採取對應的優化措施 1 通過showstatus命令了解各種sql的執行頻率 mysqlclient連線成功後,通過使用...
MySQL SQL語句優化
檢視表定義 show create table users 檢視表的索引 show index from users 你要獲取第乙個表的所有資訊,你說全表掃瞄快呢還是索引掃瞄快呢?所以當你查詢庫 包括left join中的臨時庫 的所有資訊時,資料庫會選擇最優方法 全表掃瞄!s表dept id na...
MySQL SQL 語句優化方法
對查詢進行優化,應盡量避免全表掃瞄,首先應考慮在 where 及 order by 涉及的列上建立索引.導致索引失效的操作 應盡量避免在 where 子句中使用 或 操作符,否則將引擎放棄使用索引而進行全表掃瞄.應盡量避免在 where 子句中對字段進行 null 值判斷,否則將導致引擎放棄使用索引...