Re: [閒聊] 大家工作上看過哪些誇張的 CODE ?
※ 引述《TonyQ (沉默是金。)》之銘言:
: $result=$db->query("select * from books");
: while($result->moveNext()){
: $bookSum =
: $db -> queryf(
: "select sum(sell_count) as cnt
: from books_sell
: where bookId='%s';",
: $result->row("id"));
: echo "<tr><td>".$result->row("name")."</td>".
: "<td>".$bookSum->row("cnt")."</td></tr>";
: $bookSum->close();
: }
: $result->close();
: 為了一些不必要爭議,所以這是用我自己的方式重新詮釋過的結果。
: 該報表資料量有幾萬筆,這個for迴圈跑一次要2 hr ......
回推文,雖然我沒寫過C++,不過可以一個SQL做掉的東西這家伙撈出來搞就是耍笨。
SELECT bookId, sum(sell_count) FROM books_sell GROUP BY bookId
這樣一條就做好了,根本不需要While 迴圈。
如果需要BOOK的資訊,改成Sub Query跟book join就可以把Book的欄位加進來,直接
存成View 來用會更方便。
就算是這樣,沒有分段抓(paging),一次撈整個Table也還是很笨。
--
我所信仰的科學是一種謙卑的理性,承認自身的無知與渺小才能觀察到世界在我們貧
弱的知覺上留下來的痕跡。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.194.186.232
推
05/15 10:24, , 1F
05/15 10:24, 1F
→
05/15 10:26, , 2F
05/15 10:26, 2F
→
05/15 10:27, , 3F
05/15 10:27, 3F
推
05/15 10:28, , 4F
05/15 10:28, 4F
推
05/15 12:46, , 5F
05/15 12:46, 5F
推
05/15 13:24, , 6F
05/15 13:24, 6F
推
05/15 15:32, , 7F
05/15 15:32, 7F
→
05/15 15:59, , 8F
05/15 15:59, 8F
→
05/15 16:00, , 9F
05/15 16:00, 9F
→
05/15 16:00, , 10F
05/15 16:00, 10F
推
05/15 17:25, , 11F
05/15 17:25, 11F
→
05/15 19:06, , 12F
05/15 19:06, 12F
→
05/16 14:18, , 13F
05/16 14:18, 13F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 31 篇):