新聞中心
一個系統(tǒng)中數(shù)據(jù)庫往往會成為性能瓶頸,在開發(fā)階段更多考慮的可能是功能的完成,隨著系統(tǒng)的投入使用,數(shù)據(jù)量越來越大,sql語句查詢速度慢的問題就會被凸顯出來。
對于一個有sql語句性能為題的系統(tǒng),如何找出問題,解決問題,就是下面要探討的內(nèi)容:
1.???? 查看sql執(zhí)行頻率:
Mysql客戶端連接成功以后,通過show [session|global] status命令可以提供服務(wù)器狀態(tài)信息,show session status顯示當(dāng)前連接的統(tǒng)計(jì)結(jié)果,show global status顯示自數(shù)據(jù)庫上次啟動至今的統(tǒng)計(jì)結(jié)果,如果不寫默認(rèn)參數(shù)是session.
我們關(guān)心的信息可以通過下面這個語句獲取到
Show status like ‘com_______’;(com后面是六個下劃線作為占位符)
它可以查詢出com開頭的信息。這查詢的是當(dāng)前連接的統(tǒng)計(jì)結(jié)果,如果想查全局可以使用:
Show global status like ‘com______’;
Com_**指的是相應(yīng)語句執(zhí)行的次數(shù),它會對所有存儲引擎的表操作進(jìn)行統(tǒng)計(jì),有幾個數(shù)據(jù)比較重要:
Com_select 執(zhí)行查詢的次數(shù),每次查詢累加1
Com_insert 執(zhí)行插入操作的次數(shù),沒插入一條數(shù)據(jù)累加1,批量插入也累加1
Com_update 執(zhí)行更新操作的次數(shù)
Com_delete 執(zhí)行刪除操作的次數(shù)
show status like ‘Innodb_rows_%’;
這個命令可以顯示針對Innodb存儲引擎的信息
Innodb_rows_read:select查詢返回的行數(shù),
Innodb_rows_inserted 插入的條數(shù)
Innodb_rows_updated 更新的條數(shù)
Innodb_rows_deleted刪除的條數(shù)
Connections:試圖連接MySql服務(wù)器的次數(shù)
Uptime:服務(wù)器工作時間
Show_queries:慢查詢的次數(shù)
通過這兩個命令我們可以看到當(dāng)前系統(tǒng)是查詢占主要地位還是插入占主要地位,為我們的后續(xù)優(yōu)化提供一個方向
2.??? 定位低效率的sql:
可以通過兩種方法來定位低效率的sql
1)??? 慢查詢?nèi)罩?,可以通過慢查詢?nèi)罩緛矶ㄎ坏侥切﹫?zhí)行速度慢的sql語句,但是慢查詢?nèi)罩臼窃诓樵兘Y(jié)束之后再記錄,并不能實(shí)時反映sql語句執(zhí)行的狀態(tài)。
2)??? show processlist:通過這個命令可以實(shí)時的看到當(dāng)前mysql在執(zhí)行的線程,包括線程的執(zhí)行狀態(tài),可以看到sql語句執(zhí)行的狀態(tài)
Id:用戶登錄時系統(tǒng)分配的連接id
User:顯示當(dāng)前登錄用戶,這個命令只顯示當(dāng)前登錄用戶權(quán)限范圍內(nèi)的sql語句
Host:? 顯示這個sql語句是由哪個ip的哪個端口發(fā)出的。
Db:顯示這個進(jìn)程連接的是哪個數(shù)據(jù)庫
Command:顯示當(dāng)前連接執(zhí)行的是什么命令,一般有休眠(Sleep),查詢(Query),連接(Connection)等
Time:顯示這個狀態(tài)持續(xù)的時間,單位是秒
State:顯示當(dāng)前sql語句執(zhí)行狀態(tài),比如查詢語句可能經(jīng)過如下狀態(tài):copying to tmp table、sorting result、sending data
Info:顯示這個sql語句,通過它可以判斷問題
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
標(biāo)題名稱:MySql優(yōu)化之前期探索-創(chuàng)新互聯(lián)
標(biāo)題網(wǎng)址:http://www.dlmjj.cn/article/dedcpj.html