關于子查詢和表連接查詢的疑惑存在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
提交
取消