1. 程式人生 > >mysql查詢執行順序

mysql查詢執行順序

7 SELECT

8 DISTINCT

selcet_list

1 FROM 

3 JOIN
2 ON
4 WHERE
5 GROUP BY
6 HAVING
9 ORDER BY
10 LIMIT
注:每個步驟都會產生一個虛擬表,用於下一個步驟的輸入;如果該步驟則會跳過。
VT:在下文中表示虛擬表(對於客戶端是透明的)
1步:FROM 如果有關聯則產生兩表的笛卡爾積虛擬表VT1
2步:ON 針對 VT1 進行條件過濾,滿足條件的儲存到VT2中
3步:JOIN 對照關聯型別保留外部行 VT3
4步:WHERE 條件判斷 VT4
5步:GROUP BY 分組 VT5
6步:HAVING 對分組的VT5過濾條件 VT6
7步:SELECT 查詢結果指定 VT7
8步:DISTINCT 去重複 VT8
9步:ORDER BY 排序 VT9
10步:LIMIT VT10


注:個人總結,如有不對的地方,請指教。

相關推薦

mysql查詢執行順序

7 SELECT 8 DISTINCT selcet_list 1 FROM  3 JOIN2 ON4 WHERE5 GROUP BY6 HAVING9 ORDER BY10 LIMIT 注

MySQL 查詢處理 SQL查詢執行順序

    ·邏輯查詢處理          (8)SELECT (9)DISTINCT <select_list>          (1)FROM <left_table>       (3)<join_type> JOIN <right_table>   

Mysql語句執行順序

tinc .com 上一個 取出 col 圖片 TP 需要 聚合操作 MySQL的語句執行順序 MySQL的語句一共分為11步,如下圖所標註的那樣,最先執行的總是FROM操作,最後執行的是LIMIT操作。其中每一個操作都會產生一張虛擬的表,這個虛擬的表作為一個處理的輸入,

Mysql 語句執行順序

1.Mysql語法順序,即當sql中存在下面的關鍵字時,它們要保持這樣的順序: select[distinct]  from   join   on  where  group by   having   union   order by    limit 2.Mys

mysql指令執行順序

2018年11月01日 16:29:03 伯納烏掃地老僧 閱讀數:4 標籤: mysql

MySQL 關鍵字執行順序

在SQL語句中每個關鍵字都會按照順序往下執行,而每一步操作,會生成一個虛擬表,最後的虛擬表就是最終結果。 基本sql 語句如下 : (8)SELECT (9)DISTINCT <select_list> (1)FROM <left_ta

oracle查詢執行順序規則

SELECT [DISTINCT] * |  列  [別名] , 列  [別名] , ...                        執行順序   3、控制要顯示的資料列 FROM  表名稱  [別名]                                  

MySQL查詢執行的基礎

當我們希望MySQL能夠以更高的效能執行查詢時,最好的辦法就是弄清楚MySQL是如何優化和執行查詢的。一旦理解了這一點,很多查詢優化工作實際上就是遵循一些原則讓優化器能夠按照預想的合理方式執行 當我們想向MySQL傳送了一個請求時,MySQL到底做了什麼: 客戶端首先發送一條查詢請求給伺

[轉]mysql查詢執行時間過長的SQL語句

啟動Mysql時加引數--log-slow-queries來記錄執行時間超過long_query_time秒的sql: /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-ile=/var/run/mysqld

oracle筆記(7)----oracle 查詢執行順序

Oracle 語句提高查詢效率的方法 1:.. where column in(select * from ... where ...); 2:... where exists (select 'X

MySQL 查詢執行的基礎

當我們希望 MySQL 能夠以更高的吸能執行查詢時,最好的辦法就是弄清楚 MySQL 是如何優化和執行查詢的。一旦理解這一點,很多查詢優化工作實際上就是遵循一些原則讓優化器能夠按照預想的合理的方式執行。下面請看 MySQL 執行一個查詢的過程 ,如圖所示:

Mysql查詢結果順序按 in() 中ID 的順序排列

<select id="queryGBStyleByIDs" resultMap="styleMap"> select style_num_id ,style_id,style_title,style_pic FROM gb_style where onl

mysql where執行順序

where執行順序是從左往右執行的,在資料量小的時候不用考慮,但資料量多的時候要考慮條件的先後順序,此時應遵守一個原則:排除越多的條件放在第一個。在用MySQL查詢資料庫的時候,連線了很多個過濾條件,發現非常慢。例如:SELECT … WHERE p.languages_id

python 3 mysql sql邏輯查詢語句執行順序

shanghai 不能 結果 utf8 才會 right 完成 並且 分享 python 3 mysql sql邏輯查詢語句執行順序 一 、SELECT語句關鍵字的定義順序 SELECT DISTINCT <select_list> FROM <left

mysql五補充部分:SQL邏輯查詢語句執行順序

std data 根據 使用 cor 分析 執行過程 笛卡爾 不同的 閱讀目錄 一 SELECT語句關鍵字的定義順序 二 SELECT語句關鍵字的執行順序 三 準備表和數據 四 準備SQL邏輯查詢測試語句 五 執行順序分析 一 SELECT語句關鍵字的定義

Mysql補充部分:SQL邏輯查詢語句執行順序

num 支持 重復數 mysql 當我 每次 列表 sha mysq 一 SELECT語句關鍵字的定義順序 SELECT DISTINCT <select_list> FROM <left_table> <join_typ

mysql第四篇--SQL邏輯查詢語句執行順序

l數據庫 分組操作 一定的 內容 isp 新建 處理 hid 表示 mysql第四篇--SQL邏輯查詢語句執行順序 一.SQL語句定義順序 SELECT DISTINCT <select_list> FROM <left_table> <jo

步步深入MySQL:架構->查詢執行流程->SQL解析順序

效率 線程 sele 重新 3.2 image 最好 詞條 mysqld 一、前言 本文將從MySQL總體架構--->查詢執行流程--->語句執行順序來探討一下其中的知識。 二、MySQL架構總覽 架構最好看圖,再配上必要的說明文字。 下圖根據參考書籍中一圖為原

SQL優化理論基礎:MySQL架構總覽、查詢執行流程、SQL解析順序(轉載)

前言:   一直是想知道一條SQL語句是怎麼被執行的,它執行的順序是怎樣的,然後檢視總結各方資料,就有了下面這一篇博文了。   本文將從MySQL總體架構--->

步步深入MySQL:架構->查詢執行流程->SQL解析順序

一、前言 一直是想知道一條SQL語句是怎麼被執行的,它執行的順序是怎樣的,然後檢視總結各方資料,就有了下面這一篇博文了。 本文將從MySQL總體架構--->查詢執行流程--->語句執行順序來探討一下其中的知識。 二、MySQL架構總覽 架構最好看圖,再