我的意思是下面几条语句谁的效率高: 1、SELECT * FROM A, B WHERE A.ID = B.AID 2、SELECT * FROM B, A WHERE A.ID = B.AID 3、SELECT * FROM A LEFT JOIN B ON A.ID = B.AID 4、SELECT * FROM A JOIN B ON A.ID = B.AID 前段时间看的一篇文章,关于上面几条SQL效率及作用看的不太明白。
在基于代价的优化器下面三个语句执行计划应该是一样的,效率一样的(你可以看一下执行计划) 1、SELECT * FROM A, B WHERE A.ID = B.AID 2、SELECT * FROM B, A WHERE A.ID = B.AID 4、SELECT * FROM A JOIN B ON A.ID = B.AID 这个查询含义与上面三个不一样了,查询结果不一样 3、SELECT * FROM A LEFT JOIN B ON A.ID = B.AID
1、SELECT * FROM A, B WHERE A.ID = B.AID
2、SELECT * FROM B, A WHERE A.ID = B.AID
3、SELECT * FROM A LEFT JOIN B ON A.ID = B.AID
4、SELECT * FROM A JOIN B ON A.ID = B.AID 前段时间看的一篇文章,关于上面几条SQL效率及作用看的不太明白。
1、4效率相同,不同写法而已
3、使用了左连接,会遍历A表,因此大多数情况下比其他语句要慢
1、SELECT * FROM A, B WHERE A.ID = B.AID
2、SELECT * FROM B, A WHERE A.ID = B.AID
4、SELECT * FROM A JOIN B ON A.ID = B.AID 这个查询含义与上面三个不一样了,查询结果不一样
3、SELECT * FROM A LEFT JOIN B ON A.ID = B.AID