![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 43 Pomógł: 1 Dołączył: 23.05.2007 Skąd: Gliwice Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Pracuje wlaśnie nad projektem z wykorzystaniem frameworka Symfony i pojawił sie pierwszy problem. Problemem jest wydajność Propel-a. Fragment opisu schematu bazy danych:
Jak widać są tu 3 tabele test, asnwer, i tabela test_answer która odpowida za relacje "n do m" W skrypcie PHP mam:
No i w tym momencie pojawił się problem z wydajością PROPELa. Czas tworzenia kolekcji $test_answers rośnie po exponencie;) przy limicie ustawionym na 200 skrypt zostaje zakończony w wyniku przekroczenia limitu czasu(60sekund). No a wszystkich odpowiedzi mam do pobrania 214. W narzędziu WebDebug (część frameworka Symfony) widze, że wykonywane są tylko dwa zapytania do bazy: 1* pobranie testu 2* pobranie danych z tabel test_answer złączonej z answer Czyli nie ma problemu z zapętlaniem zapytań do bazy danych. Zresztą robie wszytsko zgodnie z instrukcją propel.phpdb.org/trac/wiki/Users/Documentation/1.2/ManyToManyRelationships Czy Propel jest aż tak mało wydajny?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Potrzebuję pełnych danych odpowiedzi na pytania testowe do przeliczenia wyników końcowych. Mogę oczywiście obejść Propela, skorzystac bezposrednio z Creola i operować na tablicach zamiast na obiektach. No ale zastanawia mnie ta bardzo niska wydajność. Jakieś pomysły?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ten post edytował joebezucha 2.07.2007, 15:19:31 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 211 Pomógł: 3 Dołączył: 29.07.2005 Skąd: Szczebrzeszyn Ostrzeżenie: (0%) ![]() ![]() |
trochę pogadałem z joebezucha, wykonałem kod na zrzucie jego bazy i wszystko jest ok. przy pierwszym sposobie
czas wykonania wynosi dalej ok 3000ms, nawet nie jest to więcej niż przy uproszczeniu, czasem nawet mniej... przy drugim sposobie czas wykonania to ok 250ms czasu są podawane przez webdebuga. dla mnie powodem może być widowsowa wersja php... |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.10.2025 - 08:53 |