select count(1) from (
select login_id,id from PlatformPassPort where login_id like 'ab%'
) t1 inner join
pp_PlatformAccount t2 on t1.id = t2.passportId
select count(1) from PlatformPassPort t1 inner join
pp_PlatformAccount t2 on t1.id = t2.passportId
where login_id like 'ab%'
本来以为inner join先执行的话可能会导致速度变慢(测试的是160w的数据量,基本是表表的全连接) ,但是发现结果2者时间差不多,可能mysql做了优化。100条以内的数据量应该感觉不到时间。所以,我的结论是:有限条目的查询条件(尤其是单表的查询)
可以放心使用inner join -- 即使数据上百万。
select login_id,id from PlatformPassPort where login_id like 'ab%'
) t1 inner join
pp_PlatformAccount t2 on t1.id = t2.passportId
select count(1) from PlatformPassPort t1 inner join
pp_PlatformAccount t2 on t1.id = t2.passportId
where login_id like 'ab%'
本来以为inner join先执行的话可能会导致速度变慢(测试的是160w的数据量,基本是表表的全连接) ,但是发现结果2者时间差不多,可能mysql做了优化。100条以内的数据量应该感觉不到时间。所以,我的结论是:有限条目的查询条件(尤其是单表的查询)
可以放心使用inner join -- 即使数据上百万。
本文通过对比两种SQL查询方法——直接使用like子句与先执行inner join再使用like子句——发现两者在处理大量数据(约160万条记录)时的性能相近。这表明即使是大规模数据集,对于有限条件的查询,inner join操作也不会显著降低查询效率。
1280

被折叠的 条评论
为什么被折叠?



