PHP 板


LINE

看板 PHP  RSS
我們公司同一個部門分了幾個Team 最近因為公司商品趕上線,但是由於托某個Team的福,進度嚴重Delay 我的Team leader要求我們去支援他們 我們公司有用Framework,該framework有內建的ORM 所以我們可以用find() , findFirst() 的方式操作db,當然也可以直接下sql 後來我去支援他們debug,發現他們的code 真是有夠活用ORM 完全不用寫任何sql,全部用find findFirst跑資料出來 所以像有些表格的render資料,是跨好幾個table組出來 所以他們可能會寫成像這樣 $mainTable 代表主要的資料表 $secondModel 是第二個子table用到的model $thirdModel 是第三個子table 的model foreach($mainTable as $main ) { $main["xxx"] = $secondModel::findFirst($main["id"]); $main["yyy"] = $thirdModel::findFirst($main["id"]); } 最後組成一個完整的資料 換作是我 可能 寫一串sql做join 就把這三個table 組出來,再丟到redis的cache 當然如果一次join太多表會造成效能問題,所以我在設計table的時候,都會先想好 當然他們會有一大堆的 bug修不完跟這個不是絕對的關係 想問 在迴圈裡面 再去執行db操作 的效能 會比 一開始join 出來 快很多嗎 因為他們那組一直很堅持不寫sql 不用join 說join 會很慢 謝謝回覆 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.166.199.154
※ 文章網址: http://webptt.com/m.aspx?n=bbs/PHP/M.1402146811.A.C09.html
1F:推 hiigara:我的印象是統統用 PK 來對應且one to one 的話效能不差 06/07 23:51
2F:→ hiigara:碰過「資料不存在的時候效能大幅變慢」的例子,細節忘了.. 06/07 23:52
3F:→ hiigara:是說走 ORM 的理由個人覺得 DB 效能不會也不該是主要考量 06/07 23:54
4F:→ hiigara:讓 code 好寫好讀才是原因。效能考量的話手刻 SQL 總是比 06/07 23:56
5F:→ hiigara:gen 出來的更有機會抄捷徑... 06/07 23:57
6F:推 Xezzaosui:index 和 where 下的好,join 不會慢到哪去 06/08 00:22
7F:→ Xezzaosui:倒是這 N+1 是怎麼回事...... 06/08 00:23
8F:→ Xezzaosui:另外,DB 效能絕對是主要考量,這超難 scale 的啊...... 06/08 00:25
9F:推 Xezzaosui:用不用 ORM 和 Query 下的好不好沒有絕對關係 06/08 00:33
10F:→ alog:片段的程序的測試 Query 效能,再來看 Render 網頁後的速度 06/08 03:10
11F:→ alog:用ORM或SQL都沒錯,寫不好N+1一樣會發生 06/08 03:10
12F:→ alog:要戰效能,直接測試就知道了 06/08 03:11
13F:→ alog:另外就是..主鍵查詢其實還蠻快的. 06/08 03:13
14F:→ alog:資料量太大,可以partition 06/08 03:14
15F:→ alog:不過我看你提的進度delay應該不會是這個環節.haha 06/08 03:16
16F:推 appleboy46:原 PO 還沒逃? 06/08 11:01
17F:→ appleboy46:個人建議遇到這種情形,你沒辦法改變整個生態的 06/08 11:01
18F:→ appleboy46:你要是這樣用,只是黑的更快 06/08 11:02
19F:推 hiigara:看到 soft_job 的文章..感覺問題點跟 ORM/join 沒關係 XD 06/09 09:41
20F:→ dlikeayu:現在ORM一定有Relation相關method,不會的人跟ORM好不好無 06/10 03:45
21F:→ dlikeayu:關啊 06/10 03:45







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Tech_Job站內搜尋

TOP