小貝_mysql sql語句最佳化過程,小貝_mysqlsql語句
sql語句最佳化一、SQL最佳化的一般步驟
(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_XXX表示XXX語句所執行的次數。
重點注意:
Com_select,Com_insert,Com_update,Com_delete通過這幾個參數,可以容易地瞭解到當前資料庫的應用是以插入更新為主還是以查詢操作為主,以及各類的SQL大致的執行比例是多少。
參數說明:
com_xxx表示每個xxx語句的執行次數.如:
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)、確定問題並採取相應的最佳化措施
The quieter you become,the more you are able to hear!
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。