SQL組合查詢及先後順序對效率的影響

2021-05-22 13:11:20 字數 441 閱讀 8908

在sql跨表組合查詢存在效率問題,舉例比如

delete from media_source where movie_id in ( select media_id from media where type=2 ) and origin = 3;

和delete from media_source where origin = 3 and movie_id in ( select media_id from media where type=2 );

的效率是不一樣的。

若origin=3的情況下media_source表中資料量相對比 select media_id from media where type=2大,那麼寫在後面比寫在前面的效率很大。

總的來說,組合查詢就要查詢結果比較少的查詢放在前面,有點像linux的管道了。雖然這裡邏輯上是and的關係,但是查詢還是有先後順序。

事件的觸發時機及先後順序

開啟窗體 open 窗體 load 窗體 resize 窗體 activate 窗體 current 窗體 enter 第乙個擁有焦點的控制項 gotfocus 第乙個擁有焦點的控制項 關閉窗體 exit 控制項 lostfocus 控制項 unload 窗體 deactivate 窗體 close...

sql語句 where 後條件執行先後順序

結論如下 針對mysql,其條件執行順序是 從左往右,自上而下 針對orcale,其條件執行順序是從右往左,自下而上 mysql where執行順序是從左往右執行的,在資料量小的時候不用考慮,但資料量多的時候要考慮條件的先後順序,此時應遵守乙個原則 排除越多的條件放在第乙個 在用mysql查詢資料庫...

PB 事件的觸發時機及先後順序

事件的觸發時機及先後順序 開啟窗體 open 窗體 load 窗體 resize 窗體 activate 窗體 current 窗體 enter 第乙個擁有焦點的控制項 gotfocus 第乙個擁有焦點的控制項 關閉窗體 exit 控制項 lostfocus 控制項 unload 窗體 deacti...