![]() |
![]() |
![]()
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: 487 Pomógł: 7 Dołączył: 7.01.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Przyczyną na 90% będzie jedna z metod hydrate, która jest zaimplementowana w sposób nie do końca optymalny. Jakiś czas temu opublikowałem notę z poprawionym generatorem, który tworzy wydajniejszy kod, z racji na zastosowanie identity map.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 18:35 |