Eliberarea memoriei în php

Eliberarea memoriei în PHP

O întrebare, probabil, interesantă pentru mulți. De fapt, afirmația problemei:
- există un tabel în baza de date pentru 6500 de intrări (tabel_1). pentru a lucra cu acest tabel există o clasă - de fapt modulul CMS'ki (modul_1).






- există un alt tabel pe înregistrări, deci 1400 (table_2), pentru lucrul cu care există și o clasă (modul_2).
- sarcina este setată - de la table_1 la table_2 pentru a arunca date, dar tabelele sunt diferite în structură. Pentru aceasta, în modul_2 există o matrice pentru potrivirea câmpurilor table_1 în câmpurile table_2.
Rezolvat: SELECT din înregistrările table_1 id'shniki pe ele în module_1 obținem date din alte domenii, suna module_2, itera peste matrice de câmpuri conformitate cu datele de teren de la RESPECTAREA table_1 table_2 tolerate.

Totul ar fi bine, dar cantitatea de memorie utilizată de procesul httpd pe server crește la 5 MB pe secundă.
module_1 Obiect într-un ciclu nu este creat, creează doar o instanță a module_1 de clasă, o buclă de prelucrare a proprietăților musculare Răspuns
module_1 atribuie valori de câmp de la table_1.






unset () nu ajută.

Voi accepta orice sugestie pentru rezolvarea problemei. Vă mulțumim în avans!

Vă mulțumesc pentru atenție.

La mine la importul de bază, 38 000 de mii de înregistrări a fost acea istorie. De asemenea, probyval făcut prin matrice, precum și pe tine.
Dar scenariul meu nu a arat.
Am fost chinuit de mult timp, desigur, dar mai târziu am făcut un bug.
A creat matricea, legată de foreach (); Când lucrați, codul în zbor generează codul sql, care ar trebui să zboare către baza de date, dar îl scrie într-un fișier. Apoi tocmai am încărcat fișierul prin admin.

Dar când am importat aproximativ 4 000 - 8 000 de mii de înregistrări, totul a fost bine.

În opinia mea, clasele iau o mulțime de resurse de sistem, care, la rândul lor, pot fi o influență frumoasă asupra acestui lucru. Poate încercați să traduceți într-un fel toate acestea într-un cod sursă separat, dar că fără clase, și a alerga.

Spun imediat, nu știu sigur, este doar o admitere.

Inițial Adăugată pe site de Letmetouchyou

dimpotrivă, gândirea facilitează sarcina.<

Un exemplu trivial de implementare poate fi? Scrieți la baza de date într-o buclă? Există 6500 de interogări? Înțeleg corect?

Toate temele și mesajele proiectate incorect vor fi șterse! Pentru a evita neînțelegerile, citiți Regulile forumului și secțiunea "Revizuirea site-ului și evaluarea". Ignoranța nu scapă de responsabilitate. (c) Toate drepturile în constituție.
Conducerea forumului trăiește în tuta. sugestii și dorește să lase în urmă. cu plângeri pentru tine aici







Articole similare

Trimiteți-le prietenilor: