mysql join 語句執行解析

2021-10-01 21:45:03 字數 470 閱讀 9686

1:t1表的a1,t2表的a2,

2:a1關聯a2

2:t1 100條資料,t2 100條資料

一 t1表是驅動表(驅動表全表掃瞄,設定驅動表 以資料小的表優先),如果a1加上索引,a2是主鍵

查詢的資料集是 100+100  (先把t1的表從磁碟讀取記憶體,然後通過關聯字段區去索引頁查詢,索引直接定位t2的資料所在的資料頁,然後把t2的資料頁讀取到記憶體,然後把關聯的資料,和t1進行累加) 資料是200,如果t1對應多個t2的資料, 多幾個加幾次

如果一定要 t1當做 驅動表  得指定先後順序,,  因為表的執行順序  是優化器決定的

二 如果a1 不加索引,查詢的資料結果集是100*100  ,如果沒有索引,t1直接到t2表的資料頁乙個個去查詢,t1的一條資料會遍歷100次,100*100

mysql語句解析 Mysql join語句解析

標籤 1.右連線 right join,right outer join 解釋 以右表 sys employee 為準,而左表 sys department 中的記錄只有當其departmentid在右表中存在時才會查詢出來 2.左連線 left join,left outer join 解釋 以左...

Mysql join語句的優化

mysql4.1開始支援sql的子查詢。這個技術可以使用select語句來建立乙個單列的查詢結果,然後把這個結果作為過濾條件用在另乙個查詢中。使用子查詢可以一次性的完成很多邏輯上需要多個步驟才能完成的sql操作,同時也可以避免事務或者表鎖死,並且寫起來也很容易。但是,有些情況下,子查詢可以被更有效率...

if語句解析

if 語句格式 if 條件 then command else command fi 別忘了這個結尾 if語句忘了結尾fi test.sh line 14 syntax error unexpected end of fi if 的三種條件表示式 ifcommand then if 函式then 命...