Re: [閒聊] 大家工作上看過哪些誇張的 CODE ?

看板Soft_Job作者 (遙遠的旅人)時間14年前 (2010/05/15 10:19), 編輯推噓6(607)
留言13則, 8人參與, 最新討論串3/31 (看更多)
※ 引述《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
不是C++是Perl啦XD 沒用SQL的話不是就跟txt檔沒兩樣...
05/15 10:24, 1F

05/15 10:26, , 2F
....是php吧- -
05/15 10:26, 2F

05/15 10:27, , 3F
不過這不是重點...
05/15 10:27, 3F

05/15 10:28, , 4F
PHP 跟 Perl 長得好像我也分不清楚
05/15 10:28, 4F

05/15 12:46, , 5F
以前不知道SQL可以這樣做,我也是這樣做.XD
05/15 12:46, 5F

05/15 13:24, , 6F
沒寫過PHP :P query裡面的我都沒看過:P
05/15 13:24, 6F

05/15 15:32, , 7F
真驚訝 雖然我也看不懂 只是推文的好像滿多搞不清楚 XD
05/15 15:32, 7F

05/15 15:59, , 8F
yeh, this is what i do . 不過沒paging 是因為這是統計報表
05/15 15:59, 8F

05/15 16:00, , 9F
所以撈全部資料進來是可以理解,不過當時是採用小表cache,
05/15 16:00, 9F

05/15 16:00, , 10F
大表寫view的原則去作簡化。XD
05/15 16:00, 10F

05/15 17:25, , 11F
我認為這個解答的合理假設前提應該註明一下比較好
05/15 17:25, 11F

05/15 19:06, , 12F
只是閒聊咩 別這麼認真 XD
05/15 19:06, 12F

05/16 14:18, , 13F
這時候就要算資料成長速度了,5年不爆一般就沒差。
05/16 14:18, 13F
文章代碼(AID): #1BxWJ1Lk (Soft_Job)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 31 篇):
文章代碼(AID): #1BxWJ1Lk (Soft_Job)