准备两张表u_user与b_income_record进行跨表查询,连接条件为用户表中的id与收入表中的uid。
u_user表中一共25条数据,b_income_record表中一共100条数据。
现在用两种方式查询(效果相同):
第一种: 第二种:
select select
u.name, b.incomeMoney u.name, b.incomeMoney
from u_user u from b_income_record b
left join b_income_record b right join u_user u
on u.id = b.uid on u.id = b.uid
order by b.incomeDate; order by b.incomeDate;
因数据量较少,所以比较的是细节的时间。
对比两种查询的executing与Sending data两项上,可以看到明显的差别,第一种方式的查询效率明显要高于第二种,也就是说,当进行跨表查询时,from关键字后可以放置数据量较小的表,其他数据量较大的表可以放在join后边,这样效率比较高。