程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 小貝_mysqlsql語句優化過程

小貝_mysqlsql語句優化過程

編輯:MySQL綜合教程

小貝_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)、確定問題並采取相應的優化措施

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved