两张表a和b,
SELECT * FROM a INNER JOIN b ON a.id = b.id
和
SELECT * FROM a,b WHERE a.id = b.id
有什么区别 性能哪个好
两条sql 分别执行120s,
select * from clazz c,student s where s.clazz_id=c.id;
select * from clazz c inner join student s on s.clazz_id=c.id;
Samples : 发送的请求总量。
Average : 平均响应时间,数据量不多所以值很小几乎0.
Median : 中间值
Throughput:吞吐量
Received :每秒从服务器端接收到的数据量
都能实现关联查询,但是使用join更加灵活,效率更高,
比如:加上筛选条件后,使用前者是先将表与表先关联查询,在结果中使用条件筛选,
使用后者是先通过筛选条件筛选后再进行关联;
返回结果没区别
性能: 如果数据库是对sql做过优化的应该也没区别
转自:https://segmentfault.com/q/1010000005987015?_ea=979535
你用了where做条件,两个都是内联接。一样的
如果你的数据达到几百万,那结果就不一样了,join效率高,原理我不知道,只是实验过。
查询的结果是一样的,用哪种可以根据表的数据量来选择
这两个sql是等价的,在库内一般都做inner join。可以通过执行计划查看一下。