![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 183 Pomógł: 3 Dołączył: 5.03.2007 Skąd: Opole Ostrzeżenie: (0%) ![]() ![]() |
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??
|
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
a skad wiesz ze to ten update trwa dlugo? masz tam przeciez tez select. moze to on tyle trwa (IMG:style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 183 Pomógł: 3 Dołączył: 5.03.2007 Skąd: Opole Ostrzeżenie: (0%) ![]() ![]() |
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 |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
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ę.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 08:32 |