2014-11-02 23 views
0

下午好。PHP和MySQL最大的報告

我認爲你的問題已經老了,但還沒有得到明確的答案。在一個擁有數百萬(甚至數十億)的軟件中,您需要編寫一份報告,但是如果沒有查找所有數據並在PHP中使用它們,就無法做到這一點。

問題:

1 - 當然這些記錄會佔用大量的,因爲數據的大小以GB計去PHP。 2 - 把所有的數據放入一個PHP數組來處理它們會導致內存不足。

你們有沒有經歷過這種困境?對於有數千個數據表已經遇到緩慢的表,問題不在於查詢,因爲它對我來說是atimizada(我承認它不是數據庫的優秀鑑賞家)和大多數專家,但問題確實在於PHP。 ITERATE已經聽說過,但也許你知道一個更長的例子的解決方案。

我相信這個問題可以爲很多已經或者正在經歷它的用戶提供服務。

謝謝。

+1

您應該使用dbms而不是PHP來操作您的數據,如果您的機器足夠強大,MySQL應該能夠處理如此多的數據。 – tjati 2014-11-02 16:57:26

+0

*「下午好,先生們。」* - 有一些相當不錯的「女士編碼員」,所以不要將它們排除在外;) – 2014-11-02 16:59:57

+0

@obiNullPoiиteяkenobihahaha!我有點像第17條,如果你知道我的意思! – 2014-11-02 18:02:09

回答

0

通常當你有這麼多的數據時,你每次只能在內存中加載一部分數據。
對每個塊執行操作並計算最終報告。

如果你的操作很簡單,你可以讓MySQL爲你做,只要你有足夠的內存(但是這樣很便宜)。

另請注意,如果您的數據量超過內存量,則使用PHP或任何其他語言無關緊要。您使用的算法是主要關心的問題。