sql執(zhí)行順序from,on,join。參考文章有兩個表posts 10000條數(shù)據(jù),post_slugs 14條記錄,posts,兩個表通過post_id關(guān)聯(lián)。使用mysqlSELECT * from posts,post_slugs where post_slugs.post_id=posts.post_id,按sql執(zhí)行順序,from之后是兩個表的迪卡爾積,因此where條件實際操作的數(shù)據(jù)應(yīng)該是10000X14條記錄。SELECT * from posts join post_slugs on post_slugs.post_id=posts.post_id按sql執(zhí)行順序,from讀取posts表的數(shù)據(jù)生成虛表T1,在根據(jù)on條件讀取post_slugs滿足條件的數(shù)據(jù)生成虛表T2,再根據(jù)join方式,插入需要保留的數(shù)據(jù),那實際上join之后的數(shù)據(jù)量應(yīng)該是14條記錄。但是,實際上兩條語句執(zhí)行時間沒有什么差異。這是因為mysql優(yōu)化器處理了還是說執(zhí)行順序理解有誤?
添加回答
舉報
0/150
提交
取消