看板 Database 關於我們 聯絡資訊
※ 引述《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