[請益] 有人會完全不用sql 語法的join完成全部
我們公司同一個部門分了幾個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://www.ptt.cc/bbs/PHP/M.1402146811.A.C09.html
推
06/07 23:51, , 1F
06/07 23:51, 1F
→
06/07 23:52, , 2F
06/07 23:52, 2F
→
06/07 23:54, , 3F
06/07 23:54, 3F
→
06/07 23:56, , 4F
06/07 23:56, 4F
→
06/07 23:57, , 5F
06/07 23:57, 5F
推
06/08 00:22, , 6F
06/08 00:22, 6F
→
06/08 00:23, , 7F
06/08 00:23, 7F
→
06/08 00:25, , 8F
06/08 00:25, 8F
推
06/08 00:33, , 9F
06/08 00:33, 9F
→
06/08 03:10, , 10F
06/08 03:10, 10F
→
06/08 03:10, , 11F
06/08 03:10, 11F
→
06/08 03:11, , 12F
06/08 03:11, 12F
→
06/08 03:13, , 13F
06/08 03:13, 13F
→
06/08 03:14, , 14F
06/08 03:14, 14F
→
06/08 03:16, , 15F
06/08 03:16, 15F
推
06/08 11:01, , 16F
06/08 11:01, 16F
→
06/08 11:01, , 17F
06/08 11:01, 17F
→
06/08 11:02, , 18F
06/08 11:02, 18F
推
06/09 09:41, , 19F
06/09 09:41, 19F
→
06/10 03:45, , 20F
06/10 03:45, 20F
→
06/10 03:45, , 21F
06/10 03:45, 21F
PHP 近期熱門文章
PTT數位生活區 即時熱門文章