[請益] 如何減少 寫入 資料庫的時間

看板PHP作者 (失望帶點絕望)時間14年前 (2011/08/11 00:53), 編輯推噓3(3014)
留言17則, 3人參與, 最新討論串1/2 (看更多)
我是自學PHP的新手 程式流程大約 是 迴圈(1.更新a資料表最後一筆資料->2.取出全部資料全部寫入b資料表->計算->輸出) 如此重複大約一千次 資料數約一千筆 這樣要花掉大約10分鐘的時間 若不做資料表更新 單純取出資料表b所有資料計算一千次 卻非常快速 本來以為是輸出的問題 但取消所有的輸出 只有做計算 時間也差不多 不知道是不是更新(寫入)資料庫很耗時間 想知道有沒有解決的方法 謝謝 :) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 117.19.199.248

08/11 01:01, , 1F
是寫一千次到b資料表?
08/11 01:01, 1F

08/11 01:17, , 2F
對 取出a一千筆資料寫入b 每次迴圈都這樣一次 迴圈也是一
08/11 01:17, 2F

08/11 01:17, , 3F
08/11 01:17, 3F

08/11 01:18, , 4F
抱歉 不太會用推文 迴圈是一千次 :)
08/11 01:18, 4F

08/11 01:59, , 5F
是寫入一千次一筆資料,還是一次寫入一千筆資料?
08/11 01:59, 5F

08/11 02:00, , 6F
你把資料寫入b資料表只是為了做計算嗎?為什麼不試試直接叫
08/11 02:00, 6F

08/11 02:01, , 7F
SQL自己算完後再丟出來?
08/11 02:01, 7F

08/11 04:10, , 8F
是一千次一筆資料 要寫入資料表b是因為還要在每筆資料後
08/11 04:10, 8F

08/11 04:11, , 9F
記錄計算後的結果 最後再利用b資料表 統計最後的結果
08/11 04:11, 9F

08/11 04:13, , 10F
因為data需要持續的紀錄 我才想說寫入資料庫 再取出做計算
08/11 04:13, 10F

08/11 04:15, , 11F
不知道你是要算什麼東西,但如果是真對整個資料表作計算的
08/11 04:15, 11F

08/11 04:17, , 12F
話,用SQL命令叫資料庫自己算就好,這樣通常比叫資料出來算
08/11 04:17, 12F

08/11 04:17, , 13F
來的快。
08/11 04:17, 13F

08/11 04:18, , 14F
PTT有 DATABASE板 sql之類的東西可以去那邊問問看。
08/11 04:18, 14F

08/11 04:20, , 15F
謝謝您謝謝!!! 我去爬爬文 :D
08/11 04:20, 15F

08/11 04:21, , 16F
因為我不知道可以叫資料庫自己算 我以為都要叫出資料才能
08/11 04:21, 16F

08/11 04:21, , 17F
才能計算 來做個功課 謝謝喔!!
08/11 04:21, 17F
※ 編輯: dj31416 來自: 220.133.245.186 (08/11 04:28)
文章代碼(AID): #1EGhTurL (PHP)
文章代碼(AID): #1EGhTurL (PHP)