作者dj31416 (失望帶點絕望)
看板PHP
標題[請益] 如何減少 寫入 資料庫的時間
時間Thu Aug 11 00:53:09 2011
我是自學PHP的新手
程式流程大約
是
迴圈(1.更新a資料表最後一筆資料->2.取出全部資料全部寫入b資料表->計算->輸出)
如此重複大約一千次 資料數約一千筆
這樣要花掉大約10分鐘的時間
若不做資料表更新 單純取出資料表b所有資料計算一千次 卻非常快速
本來以為是輸出的問題 但取消所有的輸出 只有做計算 時間也差不多
不知道是不是更新(寫入)資料庫很耗時間 想知道有沒有解決的方法
謝謝 :)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 117.19.199.248
1F:推 cgcheng:是寫一千次到b資料表? 08/11 01:01
2F:→ dj31416:對 取出a一千筆資料寫入b 每次迴圈都這樣一次 迴圈也是一 08/11 01:17
3F:→ dj31416:次 08/11 01:17
4F:→ dj31416:抱歉 不太會用推文 迴圈是一千次 :) 08/11 01:18
5F:推 LaPass:是寫入一千次一筆資料,還是一次寫入一千筆資料? 08/11 01:59
6F:→ LaPass:你把資料寫入b資料表只是為了做計算嗎?為什麼不試試直接叫 08/11 02:00
7F:→ LaPass:SQL自己算完後再丟出來? 08/11 02:01
8F:→ dj31416:是一千次一筆資料 要寫入資料表b是因為還要在每筆資料後 08/11 04:10
9F:→ dj31416:記錄計算後的結果 最後再利用b資料表 統計最後的結果 08/11 04:11
10F:→ dj31416:因為data需要持續的紀錄 我才想說寫入資料庫 再取出做計算 08/11 04:13
11F:推 LaPass:不知道你是要算什麼東西,但如果是真對整個資料表作計算的 08/11 04:15
12F:→ LaPass:話,用SQL命令叫資料庫自己算就好,這樣通常比叫資料出來算 08/11 04:17
13F:→ LaPass:來的快。 08/11 04:17
14F:→ LaPass:PTT有 DATABASE板 sql之類的東西可以去那邊問問看。 08/11 04:18
15F:→ dj31416:謝謝您謝謝!!! 我去爬爬文 :D 08/11 04:20
16F:→ dj31416:因為我不知道可以叫資料庫自己算 我以為都要叫出資料才能 08/11 04:21
17F:→ dj31416:才能計算 來做個功課 謝謝喔!! 08/11 04:21
※ 編輯: dj31416 來自: 220.133.245.186 (08/11 04:28)