Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP][PDO]Wywoływane procedury i "LOCK" bazy
rocktech.pl
post
Post #1





Grupa: Zarejestrowani
Postów: 587
Pomógł: 131
Dołączył: 8.02.2010

Ostrzeżenie: (0%)
-----


Witam.

Podczas wywoływania procedur, które trwają np. 10 min staje mi cała aplikacja, każdy request dostaje response dopiero po wykonaniu tej procedury.

Aplikacja nad którą pracuje korzysta a adodb i fizycznie nie da się tego zmienić. Próbowałem wywoływać procedury przez adodb i nie powodowało to zawieszania aplikacji ale nie dawało mi gwarancji, że procedura się wykona.

Użyłem PDO i pojawiły się problemy.

  1. //MySQL Engine InnoDB
  2. $this->db_p = new PDO("mysql:host=$db_server;dbname=$db_database", $db_user, $db_password,array(
  3. PDO::ATTR_PERSISTENT => true
  4. ));
  5. $stmt = $this->db_p->prepare("CALL Procedura");
  6. $stmt->execute();
  7. //Procedura się wykonuje a baza leży


Czy ktoś spotkał się z podobnym problemem albo posiada patent na wywoływanie procedur via adodb lub PDO ?

Ten post edytował rocktech.pl 1.12.2011, 14:28:48


--------------------
Despite the tons of examples and docs, mod_rewrite is voodoo. Damned cool voodoo, but still voodoo. --Brian Moore

I never go looking for a sucker. I look for a Champion and make a sucker of of him. --Amarillo Slim


Home-made : js-gui-classes | Accordion | Tabs | Carousel / php-sms-classes | Obsługa bramki SMS MultiInfo | Obsługa bramki SMS Mobiltek
Go to the top of the page
+Quote Post
redeemer
post
Post #2





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----


A co robi ta procedura? Na jakich silnikach masz tabele na których operuje?


--------------------
Go to the top of the page
+Quote Post
rocktech.pl
post
Post #3





Grupa: Zarejestrowani
Postów: 587
Pomógł: 131
Dołączył: 8.02.2010

Ostrzeżenie: (0%)
-----


Co do bazy danych uzupełniłem w poście.

Co do procedur (jest ich kilka) wykonują operacje INSERT UPDATE DELETE na dużej ilości wierszy w kilku kolumnach.
Problem nie leży po stronie procedur, gdyż wywołane z palca na serwerze nie usypiają mi aplikacji.


--------------------
Despite the tons of examples and docs, mod_rewrite is voodoo. Damned cool voodoo, but still voodoo. --Brian Moore

I never go looking for a sucker. I look for a Champion and make a sucker of of him. --Amarillo Slim


Home-made : js-gui-classes | Accordion | Tabs | Carousel / php-sms-classes | Obsługa bramki SMS MultiInfo | Obsługa bramki SMS Mobiltek
Go to the top of the page
+Quote Post
redeemer
post
Post #4





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----


To nie wiem, jak z "palca" działa. Wykonaj 'show full processlist' podczas "locka" i zobacz co sie dzieje w bazie.


--------------------
Go to the top of the page
+Quote Post
rocktech.pl
post
Post #5





Grupa: Zarejestrowani
Postów: 587
Pomógł: 131
Dołączył: 8.02.2010

Ostrzeżenie: (0%)
-----


SHOW FULL PROCESSLIST - 2 do 3 procesów
SHOW OPEN TABLES - max 4 otwarte tabele żadnych fizycznych locków

----------------------------------------------------------------

Temat do zamknięcia. Problem leży po stronie przeglądarki która nie wyśle następnego żądania bez otrzymania odpowiedzi od poprzedniego.Więcej w tym temacie.

Ten post edytował rocktech.pl 2.12.2011, 11:33:53


--------------------
Despite the tons of examples and docs, mod_rewrite is voodoo. Damned cool voodoo, but still voodoo. --Brian Moore

I never go looking for a sucker. I look for a Champion and make a sucker of of him. --Amarillo Slim


Home-made : js-gui-classes | Accordion | Tabs | Carousel / php-sms-classes | Obsługa bramki SMS MultiInfo | Obsługa bramki SMS Mobiltek
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 06:49