Mam bazę danych oracle, gdzie przechowywana jest duża ilość danych biometrycznych, takich jak HRV i EKG. Muszę pokazać te dane dla każdego użytkownika w arkuszu programu Excel. Ale te dane są tak duże, nawet dla jednego użytkownika dostajemy ponad 1,000,000 rekordów. Obecnie jest 100 użytkowników.Używanie php do zapisywania dużej ilości danych w Excelu bez błędu limitu pamięci
Co robie to:
- mogę wykonać zadanie CRON za pomocą wiersza polecenia dla tego samego, co ja opracowany w Zend Framework.
- Upewniam się, że ten CRON się nie nakłada.
- Otrzymuję wszystkie dane z bazy danych oracle dla każdego użytkownika, jeden po drugim, a następnie zapisuję to w tablicy.
Gdy otrzymam dane dla wszystkich użytkowników, używam biblioteki phpexcel do generowania arkusza Excela.
struktura arkusza Excel
- UID 1/UID/2 UID/3 ----------- nta
- danych | dane | danych |
- dane | dane | dane |
- |
- nta
problemu:
PHP trwa 1,5 GB RAM i przechowuje dane w tablicy i przesyła do funkcji interakcji z phpexcel ale biblioteki trwa 3-4 godziny a następnie pojawia się błąd "Fatal: Memory limit". Mój system ma tylko 2 GB pamięci RAM.
Co należy zrobić, aby zoptymalizować mój kod, aby obsłużyć dane tego rozmiaru i wyświetlając te same informacje w formacie programu Excel lub muszę zwiększyć RAM?
Co użytkownicy robią z dużą ilością danych w Excelu? –
Ci użytkownicy to w zasadzie badacze. Być może wykorzystają te dane w programie Matlab lub mogą go użyć do stworzenia lepszych algorytmów. Jest tak wiele możliwości. Zasadniczo moje pytanie dotyczyło znalezienia zoptymalizowanego sposobu radzenia sobie z tego rodzaju scenariuszem. – techgyani