Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Oracle][PHP]Dlugie wykonywanie update
Forum PHP.pl > Forum > Przedszkole
lutador
Witam,

mam problem z robieniem updatow do mojej bazy Oracle z poziomu php. Skrypt ma wykonać update na jednym rekordzie ale po wlaczeniu skryptu trwa to w nieskończoność. Z poziomu query reporter update trwa 0.03s . Z zapytaniem select nie ma problemu. Czego to moze byc wina??


  1. $wstaw_zam = "UPDATE KadJednNazwy SET NrId = '$hash' WHERE SalesNumber = '23956' AND AccountNumber = 'OBR0001'";
  2.  
  3. $pased = ociparse($db_conn, $wstaw_zam);
  4. ociexecute($pased);
  5.  
  6. $znajdz_now = "SELECT d.telex, k.salesnumber, k.accountnumber FROM KadJednNazwy k, debtable d WHERE wyslano = '0' AND ltrim(k.accountnumber) = ltrim(d.accountnumber)";
  7.  
  8. $parsed = ociparse($db_conn, $znajdz_nowe);
  9. ociexecute($parsed);
  10. $nrows = ocifetchstatement($parsed, $wynik_zam);
  11.  
  12.  
nospor
a skad wiesz ze to ten update trwa dlugo? masz tam przeciez tez select. moze to on tyle trwa smile.gif
lutador
probowalem hashowac to i to wiem na 100% co sie tak dlugo wykonuje, z selectem nie ma problemu

$pased = ociparse($db_conn, $wstaw_zam); dla updatu wykonuje sie bardzo szybko
ociexecute($pased); <- to polecenie zawiesza skrypt

thek
W takim razie pozostaje Ci jeszcze jedna rzecz do sprawdzenia. Skoro całe zapytanie wykonuje się w miarę szybko, to znaczy, że po drodze samo execute ma problem. Może łączy się w jakiś dziwny sposób do bazy. Wykonuje jakieś "bonusowe" operacje i całość przez to mocno traci na szybkości. Przykładowo łączy się z bazą nie na localhoście, tylko na innym serwerze. Długa jest droga do i z bazy do skryptu. Ewentualnie czeka na jakieś operacje inne, które blokują tabelę przed zapisem, modyfikuje indexy, które są już mocno napakowane, ewentualnie na kolumnach w warunku brak jest indexów. Powodów może być w sumie wiele tak naprawdę.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.