參考文章:
首先這個問題一直存在,但是在實際開發中還是寫出各種效能差sql。今天就一點點的來梳理一下,恰好我目前工作中的sql 寫的很慢,這篇文章剛好可以幫我去優化一下我的**。
1. 乙個最大的原則就是能夠使得sql用到索引。
怎麼用到索引,我們就來分析一下explain的用法:
我關注的有乙個字段就是rows ,掃瞄的條數越多,效能就越差。
type 型別,效能排序:
all < index < range ~ index_merge < ref < eq_ref < const < system
key 真正使用到的索引。
ref 涉及到關聯查詢 ,明天需要再看看。
rows 返回的行數越少效能越好。
extra using temporary 和 using filesort 需要優化
之前看過很多類似的sql優化的文章,也知道一些小的技巧,比如取盡量少的字段,索引列不要作運算,少用子查詢等等。
Mysql優化 SQL語句優化
索引優化 where 字段 組合索引 最左字首 索引下推 非選擇行 不加鎖 索引覆蓋 不回表 on兩邊 排序 分組 explain分析語句情況,看建立索引沒,或者建立錯誤,響應時間長的話可以看下慢查詢日誌 盡量不要用 查所有字段的話,select查詢列中的字段如果沒有索引的話,會造成回表 limit...
MySQL優化(二) 優化SQL語句
2.優化子查詢,派生表和檢視引用 3.優化information schema查詢 4.優化資料變更宣告 5.優化資料庫許可權 6.其他優化技巧 資料庫應用程式的核心邏輯是通過sql語句執行的,無論是直接通過直譯器發出還是通過api在後台提交。查詢以select 語句的形式執行資料庫中的所有查詢操作...
MySql優化sql語句效能
一.優化方面 可以從下面2個方面進行優化 1.減少io次數 2.減少cpu計算次數 二.常見sql命令誤區 1.count 1 和count primary key 優於 count 實際上count 計算操作做了優化 2.select a,b from 比 select a,b,c from 可以...