問題:如何從乙個大專案中,迅速的定位執行速度慢的語句.(定位慢查詢)
1.首先知道mysql一些執行的狀態(比如mysql當前執行的時間、一共執行了多少次select、update、delete、當前連線數)
show status
常用的操作:
show status like 『uptime』; mysql啟動時間
show status like 『com_select』 ; insert,update,delete 查詢次數
show status like 『connections』;有多少連線數
show status like 『slow_queries』; 顯示慢查詢次數
2.如何定位慢查詢
修改慢查詢時間限制
show status like 『slow_queries』; 顯示慢查詢次數
show variables like 『long_query_time』;顯示當前慢查詢時間
set long_query_time=1;設定慢查詢為1s
3.這時如何乙個語句執行時間超過1s中,就會統計到。慢查詢的sql記錄到我們的乙個日誌中,在預設情況下,我們的sql不會記錄慢查詢,需要再mysql啟動時,指定記錄慢查詢才行。
mysql 語句優化例項 MySQL 語句優化例項
優化 limit 分頁 執行耗時 1.379s select from vio basic domain info limit 1000000,10 處理分頁慢查詢的方式一般有以下幾種 思路一 構造覆蓋索引 思路二 優化 offset 無法用上覆蓋索引,那麼重點是想辦法快速過濾掉前 100w 條資料...
mysql語句優化原則 MySQL語句優化的原則
1 使用索引來更快地遍歷表。預設情況下建立的索引是非群集索引,但有時它並不是最佳的。在非群集索引下,資料在物理上隨機存放在資料頁上。合理的索引設計要建立在對各種查詢的分析和 上。一般來說 a.有大量重複值 且經常有範圍查詢 和order by group by發生的列,可考慮建立群集索引 b.經常同...
mysql語句優化原則 mysql語句優化原則
有時候發現資料量大的時候查詢起來效率就比較慢了,學習一下mysql語句優化的原則,自己在正常寫sql的時候還沒注意到這些,先記錄下來,慢慢一點一點的學,加油!這幾篇部落格寫的都可以 使用索引的原則 1.最左字首匹配原則。mysql會一直向右匹配直到遇到範圍查詢 不會用到b的索引 where a 1 ...