31/07/2020, 21:15:09
(Ultima modificare: 02/08/2020, 11:19:09 de Vasile.
Motivul editării: inlocuit prepare cu exec ca era inutil in cod
)
Salutare dragi grupari,
Voi fi scurt si la subiect ca trebuie sa ma spal pe dinti. (recomand sa o faceti si voi de minim 2 ori pe zi timp de minim 5 minute)
Asadar, voiam si eu ca tot omu' normal sa inserez in baza 1k randuri simultan.
Foloseam metoda asta, o metoda clasica (exemplu):
Ei bine face ce trebuie, insa foarte greu, intr-un timp foarte lung.
Vorbim de faptul ca imi insera aprox 40 randuri pe min in timp ce in pagina erau 1k, avea load aiurea mai pe scurt.
Si m-am intrebat: oare nu pot insera toate randurile simultan ?
Si-am testat ceva...
Iar raspunsul este: da.
Cu urmatorul cod (exemplu):
Pai eu am (si va sugerez si voua sa faceti la fel) pe tabelul 'valoare' setat UNIQUE ca sa nu am valori duplicate (se pot avea duplicate chiar daca ai verificarea php... sa zicem ca ai mai multe taburi cu care faci insert... e vorba de milisecunde dar e posibil sa inserezi acelasi rand de mai multe ori caci verificarea php dureaza), si daca nu setam 'IGNORE' in caz de era de inserata o valoare ce exista deja, atunci toate inserturile se anulau din cauza la acel duplicat. Cu el in schimb, se ignora eroarea si se face insert indiferent daca exista deja un duplicat, pur si simplu se ignora duplicatul, nu mai vine inserat iar.
E mai buna metoda asta decat orice alta verificare.
Cu codul asta am trecut de la 40 randuri pe minut la 2k randuri pe sec.
Nu stiu daca voi, ditamai wapmasterii ai planetei aveti nevoie de un asemenea cod, insa poate pentru prosti ca mine poate ar fi util.
Daca aveti ceva nelamuriri sau intrebari, scrieti aici in topic si o sa va raspund de sarbatori.
Powered by YOnwTZz 2010
Voi fi scurt si la subiect ca trebuie sa ma spal pe dinti. (recomand sa o faceti si voi de minim 2 ori pe zi timp de minim 5 minute)
Asadar, voiam si eu ca tot omu' normal sa inserez in baza 1k randuri simultan.
Foloseam metoda asta, o metoda clasica (exemplu):
This Code Only Show For Users
Arata frumos, nu? Adica e corect.. ar trebui sa faca ce trebuie...Ei bine face ce trebuie, insa foarte greu, intr-un timp foarte lung.
Vorbim de faptul ca imi insera aprox 40 randuri pe min in timp ce in pagina erau 1k, avea load aiurea mai pe scurt.
Si m-am intrebat: oare nu pot insera toate randurile simultan ?
Si-am testat ceva...
Iar raspunsul este: da.
Cu urmatorul cod (exemplu):
This Code Only Show For Users
Partea sql ar arata asa: This Code Only Show For Users
De ce 'ignore' ?Pai eu am (si va sugerez si voua sa faceti la fel) pe tabelul 'valoare' setat UNIQUE ca sa nu am valori duplicate (se pot avea duplicate chiar daca ai verificarea php... sa zicem ca ai mai multe taburi cu care faci insert... e vorba de milisecunde dar e posibil sa inserezi acelasi rand de mai multe ori caci verificarea php dureaza), si daca nu setam 'IGNORE' in caz de era de inserata o valoare ce exista deja, atunci toate inserturile se anulau din cauza la acel duplicat. Cu el in schimb, se ignora eroarea si se face insert indiferent daca exista deja un duplicat, pur si simplu se ignora duplicatul, nu mai vine inserat iar.
E mai buna metoda asta decat orice alta verificare.
Cu codul asta am trecut de la 40 randuri pe minut la 2k randuri pe sec.
Nu stiu daca voi, ditamai wapmasterii ai planetei aveti nevoie de un asemenea cod, insa poate pentru prosti ca mine poate ar fi util.
Daca aveti ceva nelamuriri sau intrebari, scrieti aici in topic si o sa va raspund de sarbatori.
Powered by YOnwTZz 2010
This Code Only Show For Users