mysql的join+in_慎用mysql的join语句和in子查询语句,普通查询可能是最好的优化

服务器mysql集群,表引擎ndbcluster。 其中查3张表,原语句为: select user.uid,user.uname,user.idcard_status,user_introduction.user_picfrom user left join user_introduction on user.uid = user_introduction.uidwhere user.uid in(select uid from

服务器mysql集群,表引擎ndbcluster。

其中查3张表,原语句为:

select user.uid,user.uname,user.idcard_status,user_introduction.user_pic

from user left join user_introduction on user.uid = user_introduction.uid

where user.uid in(select uid from participate_class where cid = '11428' and paystatus = 1) ;

表数据总共9K+条左右的数据 ,所以说数据并不多,但是这个sql的执行时间让人惊讶: 35sec~36sec。其中in子查询拆分来查都很快,一旦组合起来就慢的要死。

explain的情况如下:

bab72df7326b85a1230c08d7ace1b9c3.png

刚好跟一篇文章中描述的一样:http://hi.baidu

你可能感兴趣的:(mysql的join+in)