MySQL中sql優化方向指導總綱

2021-10-05 16:40:27 字數 979 閱讀 6283

【優化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....