mysql5.7強制指定驅動表與被驅動表straight_join


select * from 驅動表 t1 STRAIGHT_JOIN 被驅動表  t2 ON t1.order_id = t2.order_id;

select * from t_order t1 STRAIGHT_JOIN t_order_detail  t2 ON t1.order_id = t2.order_id;

這樣強制指定驅動表和被驅動表的好處是可以讓mysql在計算SQL執行成本時按照自己的計划進行。也就是說如果你認為自己比MYSQL的SQL優化器更牛B,認為使用t1作為驅動表更好,這樣就是執行成本更低。

 

rows_examined_per_scan: 321     表示從驅動表結果集預估有321條記錄會對被驅動表進行掃描

rows_produced_per_join: 321     如果這兩個數值一樣,表示filter =100 即過濾100%的數據,但是如果這個值比上一個值少,則可能使用了覆蓋索引等進行了優化,那么filter也會少於100%

filtered: 100

prefix_cost是總成本

 

end.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM