我們有這個PHP應用程序從數據庫中選擇一行,對其進行處理(調用一個使用web服務的外部API),然後根據所做的工作插入一個新的寄存器。有一個AJAX顯示屏告知用戶已經處理了多少個寄存器。數據庫與一個數據庫的各種連接
數據主要是文本,所以它是相當重的數據。
該過程由一次數千個寄存器完成。用戶可以選擇多少個寄存器開始工作。這些數據是從一個表格中獲得的,在這裏他們被標記爲「完成」。沒有「WHERE」條件,除了可選的「WHERE date BETWEEN date1 AND date2」之外。
我們有一個說法在哪種方法更好:
- 選擇一個寄存器,它的工作,並與他們插入新的數據
- 選擇所有的寄存器,工作記憶和插入它們在所有工作完成後在數據庫中。
您認爲哪種方法對於使用PHP和PostgreSQL的Web環境最有效?爲什麼?
我認爲批處理方法的優點足以令人信服。我已經以這種方式實施了。這是一個網絡應用程序,所以我認爲一次加載所有的數據可能在服務器的內存上很糟糕? – 2009-09-09 19:40:40