感谢版主讲解 ,是否可提供一些讲述mysql执行过程的文章 ? 手册看不懂 = =" p . s :我是在这里看见的(虽然是mssql 但是我想差不远 担心了一下 .. )
http://www.cnblogs.com/lifepoem/archive/2013/03/25/2979995.html

解决方案 »

  1.   

    你下载《mysql技术内幕 sql编程》看看 3.1章讲的很清楚
      

  2.   

    好书!感谢版主的推荐!
    按照逻辑查询原理,确实会对表1和表2先做一个笛卡尔积虚拟表然后才过滤 ,如果有多个连表,完成1,2过滤后,才会去join 第3个表,再反复的重复执行 。 
    值得注意的是 如果 表1和表2的关联column 如果有建索引的话,mysql 就不会生产笛卡尔积虚拟表了,所以会快很多很多!
      

  3.   

    R x S 两表如果有条件 from R inner join S on R.id=S.id
    如果ID上有索引,则不会产生笛卡尔积。 其实如果没有索引,也不会产生 笛卡尔积
    相关知识可以参考MYSQL官方免费手册 的‘优化’章节。