sql执行顺序问题

sql执行顺序from,on,join。参考文章

有两个表posts 10000条数据,post_slugs 14条记录,posts,两个表通过post_id关联。使用mysql

SELECT * from posts,post_slugs where post_slugs.post_id=posts.post_id,按sql执行顺序,from之后是两个表的迪卡尔积,因此where条件实际操作的数据应该是10000X14条记录。

SELECT * from posts join post_slugs on post_slugs.post_id=posts.post_id按sql执行顺序,from读取posts表的数据生成虚表T1,在根据on条件读取post_slugs满足条件的数据生成虚表T2,再根据join方式,插入需要保留的数据,那实际上join之后的数据量应该是14条记录。

但是,实际上两条语句执行时间没有什么差异。这是因为mysql优化器处理了还是说执行顺序理解有误?


largeQ
浏览 471回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

MySQL