※ 引述《JoeHorn (獅子男)》之銘言:
: 如果你要把 table B 的資料更新到 table A 。
: 如果不是進行每個月的結算,
: 這是否意味著你也必須把 table B 已經 merge 到 table A 的資料刪除掉?
table B 有 設 status filter 所以不會重覆,不需要刪除
例子只是為了說明我的 SQL 的需求,實際的架構也不是真的那樣。
: (不然 table B 那邊的資料勢必會被重複計算)
: 如果是進行每個月的結算,為何要把 table B 的資料 merge 到 table A ?
: 把 table A 跟 B JOIN 起來算 sum 產生一次輸出不就好了?
為了能在 table 中保留運算過的值,快速的查詢,不需要每次要知道這個值的
時候都需要 group sum。那個資料的查詢相當頻繁。
: : 變成只能先把資料用 SELECT 抓出來,再跑迴圈一行一行跑 UPDATE 了。
: : 請問有辦法一行 SQL 做到嗎?
: 一行 SQL 為的是什麼?
: 效能嗎? 一行 SQL 不一定會比較快。
感覺上把所有的動作丟給 databa engine 應該比在 script (我是用 PHP)裡
跑迴圈,一遍一遍的去 query, fetch 要快,實際上沒測是不知道啦。
: 維護方便嗎? 一行 SQL 並沒有比較好維護吧?
搞的懂是比較好維護呀。
: 爽度嗎? 有必要嗎?
不管爽不爽,能多學一些不會的都是好的吧?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.80.140.127