mysql 插入当前时间_MySql优化之前期探索
一個(gè)系統(tǒng)中數(shù)據(jù)庫(kù)往往會(huì)成為性能瓶頸,在開(kāi)發(fā)階段更多考慮的可能是功能的完成,隨著系統(tǒng)的投入使用,數(shù)據(jù)量越來(lái)越大,sql語(yǔ)句查詢速度慢的問(wèn)題就會(huì)被凸顯出來(lái)。
對(duì)于一個(gè)有sql語(yǔ)句性能為題的系統(tǒng),如何找出問(wèn)題,解決問(wèn)題,就是下面要探討的內(nèi)容:
1. 查看sql執(zhí)行頻率:
Mysql客戶端連接成功以后,通過(guò)show [session|global] status命令可以提供服務(wù)器狀態(tài)信息,show session status顯示當(dāng)前連接的統(tǒng)計(jì)結(jié)果,show global status顯示自數(shù)據(jù)庫(kù)上次啟動(dòng)至今的統(tǒng)計(jì)結(jié)果,如果不寫(xiě)默認(rèn)參數(shù)是session.
我們關(guān)心的信息可以通過(guò)下面這個(gè)語(yǔ)句獲取到
Show status like ‘com_______’;(com后面是六個(gè)下劃線作為占位符)
它可以查詢出com開(kāi)頭的信息。這查詢的是當(dāng)前連接的統(tǒng)計(jì)結(jié)果,如果想查全局可以使用:
Show global status like ‘com______’;
Com_**指的是相應(yīng)語(yǔ)句執(zhí)行的次數(shù),它會(huì)對(duì)所有存儲(chǔ)引擎的表操作進(jìn)行統(tǒng)計(jì),有幾個(gè)數(shù)據(jù)比較重要:
Com_select 執(zhí)行查詢的次數(shù),每次查詢累加1
Com_insert 執(zhí)行插入操作的次數(shù),沒(méi)插入一條數(shù)據(jù)累加1,批量插入也累加1
Com_update 執(zhí)行更新操作的次數(shù)
Com_delete 執(zhí)行刪除操作的次數(shù)
show status like ‘Innodb_rows_%’;
這個(gè)命令可以顯示針對(duì)Innodb存儲(chǔ)引擎的信息
Innodb_rows_read:select查詢返回的行數(shù),
Innodb_rows_inserted 插入的條數(shù)
Innodb_rows_updated 更新的條數(shù)
Innodb_rows_deleted刪除的條數(shù)
Connections:試圖連接MySql服務(wù)器的次數(shù)
Uptime:服務(wù)器工作時(shí)間
Show_queries:慢查詢的次數(shù)
通過(guò)這兩個(gè)命令我們可以看到當(dāng)前系統(tǒng)是查詢占主要地位還是插入占主要地位,為我們的后續(xù)優(yōu)化提供一個(gè)方向
2. 定位低效率的sql:
可以通過(guò)兩種方法來(lái)定位低效率的sql
1) 慢查詢?nèi)罩?#xff0c;可以通過(guò)慢查詢?nèi)罩緛?lái)定位到那些執(zhí)行速度慢的sql語(yǔ)句,但是慢查詢?nèi)罩臼窃诓樵兘Y(jié)束之后再記錄,并不能實(shí)時(shí)反映sql語(yǔ)句執(zhí)行的狀態(tài)。
2) show processlist:通過(guò)這個(gè)命令可以實(shí)時(shí)的看到當(dāng)前mysql在執(zhí)行的線程,包括線程的執(zhí)行狀態(tài),可以看到sql語(yǔ)句執(zhí)行的狀態(tài)
Id:用戶登錄時(shí)系統(tǒng)分配的連接id
User:顯示當(dāng)前登錄用戶,這個(gè)命令只顯示當(dāng)前登錄用戶權(quán)限范圍內(nèi)的sql語(yǔ)句
Host: 顯示這個(gè)sql語(yǔ)句是由哪個(gè)ip的哪個(gè)端口發(fā)出的。
Db:顯示這個(gè)進(jìn)程連接的是哪個(gè)數(shù)據(jù)庫(kù)
Command:顯示當(dāng)前連接執(zhí)行的是什么命令,一般有休眠(Sleep),查詢(Query),連接(Connection)等
Time:顯示這個(gè)狀態(tài)持續(xù)的時(shí)間,單位是秒
State:顯示當(dāng)前sql語(yǔ)句執(zhí)行狀態(tài),比如查詢語(yǔ)句可能經(jīng)過(guò)如下?tīng)顟B(tài):copying to tmp table、sorting result、sending data
Info:顯示這個(gè)sql語(yǔ)句,通過(guò)它可以判斷問(wèn)題
總結(jié)
以上是生活随笔為你收集整理的mysql 插入当前时间_MySql优化之前期探索的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 七牛云上传视频如何有效做到节省空间
- 下一篇: 初识Mysql(一)