(1)、通過show status命令了解各種sql的執行頻率。
(2)、定位執行效率較低的sql語句-(重點select)
(3)、通過explain分析低效率的sql語句的運**況
(4)、確定問題並採取對應的優化措施
(1) 通過showstatus命令了解各種sql的執行頻率
mysqlclient連線成功後,通過使用show[session|global] status 命令能夠提供server狀態資訊。
當中的session來表示當前的連線的統計結果,global來表示自資料庫上次啟動至今的統計結果。預設是session級別的。
以下的樣例: show status like 『com_%』;
當中com_***表示***語句所執行的次數。
重點注意:
com_select,com_insert,com_update,com_delete通過這幾個引數,能夠easy地了解到當前資料庫的應用是以插入更新為主還是以查詢操作為主。以及各類的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:試圖連線mysqlserver的次數(成功or失敗都會進行累加)
uptime:server工作的時間(單位秒)
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的執行頻率 mysql客戶端連線成功後,通過使用sho...
MySQL SQL語句優化
檢視表定義 show create table users 檢視表的索引 show index from users 你要獲取第乙個表的所有資訊,你說全表掃瞄快呢還是索引掃瞄快呢?所以當你查詢庫 包括left join中的臨時庫 的所有資訊時,資料庫會選擇最優方法 全表掃瞄!s表dept id na...
MySQL SQL 語句優化方法
對查詢進行優化,應盡量避免全表掃瞄,首先應考慮在 where 及 order by 涉及的列上建立索引.導致索引失效的操作 應盡量避免在 where 子句中使用 或 操作符,否則將引擎放棄使用索引而進行全表掃瞄.應盡量避免在 where 子句中對字段進行 null 值判斷,否則將導致引擎放棄使用索引...