sql执行顺序from,on,join。参考文章有两个表posts 10000条数据,post_slugs 14条记录,posts,两个表通过post_id关联。使用mysqlSELECT * 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优化器处理了还是说执行顺序理解有误?
添加回答
举报
0/150
提交
取消