_Zack_
17th August 2009, 14:57
salut
am postat cu cateva zile in urma o intrebare referitoare la preluarea continutului unui pdf
acum am ajuns la partea cu inserarea... sunt foarte multe cereri de inserare si updatare (foarte voluminoase fiecare in parte) dupa preluarea cotinutului din pdf
intrebarea mea este cum sa procedez ca sa nu mai primesc eroarea din titlul topicului
sa pun mai multe cereri sql in aceeasi functie mysql_query despartite de ";" si sa le execut pe toate odata apoi sa las cateva secunde pauza si sa trec la urmatoarea cerere sql sau sa le execut pe rand tot asa cu pauze dupa un anume numar de cereri executate
sau orice alta solutie propuneti pentru a executa muuulte cereri intr-un timp cat mai scurt
multumesc
Mr.Jinx
17th August 2009, 15:04
încearcă să limitezi numărul de linii inserate/updatate per query. dacă sunt prea multe e posibil să primești eroarea în cauză. și da, poți să lași să aștepte puțin timp între cereri
vali38
17th August 2009, 16:11
din cate stiam eu functia mysql_query nu accepta decat o singura cerere catre mysql deci nu ramane valabila decat a doua varianta
_Zack_
17th August 2009, 16:16
imi puteti propune niste cifre? de exemplu la fiecare 10 cereri executate sa pun sleep 2 secunde... sau cum credeti ca ar fi mai bine
vali38
17th August 2009, 20:30
eu am stresat o singura data mysqlul si nu mi-a cedat sub nici o forma. eu zic sa il lasi sa isi faca cererea una dupa alata, fara pauza... are el grija de restul. eu am bagat aproape 6 ore continuu in mysql si nu s-a intamplat nimic
MadHawk
17th August 2009, 21:15
CITAT (_Zack_ @ 17th August 2009, 17:16)

imi puteti propune niste cifre? de exemplu la fiecare 10 cereri executate sa pun sleep 2 secunde... sau cum credeti ca ar fi mai bine
Nu e cazul! vali38 ti-a dat deja raspunsul!
Doar sa nu intri intr-un loop infinit care sa "manance" tot procesorul!
_Zack_
18th August 2009, 15:15
am facut asa: intai formez interogarile mysql si le pun pe linii separate intr-un fisier apoi dupa ce am terminat cele cateva mii de linii de scris redirectionez catre un script care preia linie cu linie din fisierul respectiv si executa... am facut cateva teste si numai primesc mysql has gone away... pare ok
multumesc pentru raspunsuri
MadHawk
18th August 2009, 20:56
Daca tot creezi un fisier *.sql, cea mai rapida metoda de a-l executa este asa:
CODSURSA
mysql <my_db_name> -u<user_name> -p<password> <mysql.sql
huliganul
28th August 2009, 08:59
aceasi problema o am si eu doar ca nu inserez chiar asa multe linii. probabil e trafic mare pe baza de date. odata am primit o astfel de eroare dupa un insert simplu.
daca am folosi [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] la inserare ar putea ajuta serverul mai mult?
Aceasta este o versiune simplificată a paginii originale. Pentru a vizita versiunea originala
click aici.