要考慮效率,比如查詢一千個商品,若按照php思維先列產品再循環根據條件又查詢,那么將是個很低很低的效率,總而言之能mysql一句就不能兩句有的人還會說設計邏輯什么的,拜托只是一道面試題,低頭求解即可,別想太復雜.題目如下:ABC表求得D結果,即用最精簡的mysql列出C的產品及屬性標識和值為何被踩呢,這種題目挺考技術啊.踩的同學來說下原因唄感謝大家的解惑,關于面試題本身存在的一些不合理,比如最簡單的C表字符串attr_id不如改成外鍵.但面試題的目的便是考驗答題者啊,否則也就沒有意義了.如果一上來就從未質疑過,這樣的倒不是它所需求的人才啊!所以,我覺得這個題目有意思嘛,另外,別誤會了,這是一個高級微信群里的挑戰問答題.并非提問者想出來的.質疑的同學應先列出自己的設計,再殊途同歸.別忘了這是面試.
2 回答

慕田峪4524236
TA貢獻1875條經驗 獲得超5個贊
被邀請來的,不過真的不想答。
C表的attr_id=1,3這種格式本身限制了效率;A,B表的type關聯也存在問題。反正是我的話不會正面答這個題,直接給優化的表結構和優化理由。
此外對于效率來說,當出現 attr_id=1,3 的時候,如果在SQL中進行字符串處理,那么效率還不如PHP在循環時再分別查詢了。
添加回答
舉報
0/150
提交
取消