关于子查询和表连接查询的疑惑存在2张表user(用户) 和 user_dictionary(用户字典) 2张表,然后同事与我纠结一个问题,原谅我这渣渣不知道相关代码user:行业,职业,等级 等等多选择性属性user_dictionary:类型,值,值名称现在有2个sql,哪一个效率跟高1:select u.*,(select ud.值名字 from user_dictionary ud where ud.类型='行业' and ud.值=u.行业) as '行业名称',(select ud.值名字 from user_dictionary ud where ud.类型='职业' and ud.值=u.职业) as '职业名称',(select ud.值名字 from user_dictionary ud where ud.类型='等级' and ud.值=u.等级) as '等级名称',from user u2:select u.*,ud1.值名称,ud2.值名称,ud3.值名称from user u left join user_dictionary ud1 on u.行业='设置的行业编号' and ud1.值=u.行业left join user_dictionary ud2 on u.职业='设置的职业编号' and ud1.值=u.职业left join user_dictionary ud3 on u.等级='设置的等级编号' and ud1.值=u.等级我想知道推荐使用哪一种方式(我使用的方式1,同事属于那种死脑筋,完全坚持自己想法的人)
1 回答
胡说叔叔
TA贡献1804条经验 获得超8个赞
哪个效率高,看一下执行时间就可以了么,然后explain一下看看。
说点题外话:当你觉得你同事属于那种死脑筋,完全坚持自己想法的人的时候,或许他也这么想你呢,为什么一定要让别人按你的想法写代码呢?除非遇到了很严重的效率问题
添加回答
举报
0/150
提交
取消