【優化sql語句】
參考:"資料庫應用程式的核心邏輯是通過sql語句執行的,無論是通過直譯器直接發出還是通過api在後台提交。
本節中的調優指南有助於加快各種mysql應用程式的速度。
該準則涵蓋了讀寫資料的sql操作,一般sql操作的幕後開銷以及在特定方案(如資料庫監視)中使用的操作。"
1.優化select語句
# where子句優化
# 範圍優化( >, <, >=, <=, between, !=, or <>, like )
# 索引合併優化
# 引擎條件pushdown優化(ndb儲存引擎獨有的)
# 索引條件pushdown優化
# 巢狀迴圈join演算法
# 巢狀join優化
# outer join 優化
# outer join 簡化
# 多範圍讀取優化
# 阻止巢狀迴圈和批處理key訪問join
# 為空(is null)優化
# order by優化
# group by優化
# distinct優化
# limit查詢優化
# 函式呼叫優化
# 行建構函式表示式優化
# 避免全表掃瞄
2.優化子查詢和派生表
# 用半連線變換優化子查詢
# 基於實體的子查詢優化(建立臨時表)
# 用exists策略優化子查詢
# 優化派生表
3.優化information_schema查詢
4.優化資料更改語句
# 優化insert語句
# 優化update語句
# 優化delete語句
5.優化資料庫許可權
6.其他優化技巧
MySQL 中sql 語句 優化
參考文章 首先這個問題一直存在,但是在實際開發中還是寫出各種效能差sql。今天就一點點的來梳理一下,恰好我目前工作中的sql 寫的很慢,這篇文章剛好可以幫我去優化一下我的 1.乙個最大的原則就是能夠使得sql用到索引。怎麼用到索引,我們就來分析一下explain的用法 我關注的有乙個字段就是rows...
MySQL優化 SQL優化
其實sql語句的優化核心就在避免全表掃瞄上面 對查詢語句優化,避免全表掃瞄 首先應考慮在where及order by涉及的列上建立索引 避免在where子句中對字段進行表示式和函式操作 避免where進行null 等運算導致的全表掃瞄 在group by後面增加order by null就可以防止g...
mysql中sql優化小心得
1,以前用mysql不多,不過寫sql時都會考慮效率,主要是考慮先盡量篩選主表的資料。而今天寫了個sql,從幾十萬條資料中做累計,還要和其他表結合獲得使用者資訊,為了簡潔寫成如下形式 select c.name,sum a.cnt from a,b,c where a.id b.uid and a....