Mnoho dotazů ve verzi 2.0.2

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Pilda
Člen | 52
+
0
-

Dobrý večer,
po přechodu ze stable verze 2.0.0 na stable 2.0.2 se nette db začala chovat podivně. Třeba tam kde jsem měl 11 dotazů na stránku jich je najednou 21. Jedná se o složitější dotazy, kde bylo použito related.

Zde můžete vidět debug bar z nette 2.0 a zde z nette 2.0.2.

V nette 2.0.1 to ještě funguje normálně.

hrach
Člen | 1838
+
0
-

Díky za report, bude to stejný problém jako tady, fix připraven, jdu ho poslat :)

Pilda
Člen | 52
+
0
-

Díky moc.

editováno: pomohlo to, díky moc!

Editoval Pilda (3. 4. 2012 20:41)

Pilda
Člen | 52
+
0
-

Hrach: Bohužel se vyskytl další problém. Nová dev verze sice počet dotazů snížila, ale čas generování stránek se zvýšil na neúnosnou mez. V nejkritičtějším případě trvá jednu minutu. Můžeš se na to prosím tě ještě mrknout?

hrach
Člen | 1838
+
0
-

Nevim co mam delat s takovou informaci… idelane treba odizolovat, co tak dlouho trva…

Peetee
Člen | 75
+
0
-

Ahoj, (pracujeme s Pildou na stejném projektu, tak tentokrát odpovím já). Nevím, zda se mi to povedlo izolovat správně, ale volání fce related() nám vytáhne všechny řádky z tabulky a teprve poté vrátí jen ty správné.

Například v šabloně máme:

{foreach $article->related('forum_threads') as $thread}
<li><a n:href="Forum:topic $thread->id">{$thread->title}</a></li>
{/foreach}

Vykoná dotaz: SELECT * FROM `forum_threads` tedy bez podmínky IN (…). Tedy z tabulky to vytáhne úplně všechna vlákna, kterých je hodně, ale vypíšou se jen ty správná.

vc
Člen | 6
+
0
-

chyba, ktoru spomina Peetee, sa vyskytuje aj u mna. Pri pouziti related(…) sa z db vytiahnu vsetky riadky, a zobrazia sa len tie potrebne(na db sa vola „select * from table“). Mohlo by sa to fixnut?

hrach
Člen | 1838
+
0
-

vc: mohl bys pls zkusit tento branch: https://github.com/…-refactoring
jestli obsahuje chybu stale?

vc
Člen | 6
+
0
-

tam to uz funguje v poriadku.
musel som ale urobit zmeny. konstruktor „Selection“ ma vymenene parametre a metoda related nefunguje bez zadaneho column – predtym fungovalo aj bez.
nerozumiem moc tym roznym verziam. ktore mam pouzivat? ake su v nich rozdiely?

hrach
Člen | 1838
+
0
-

Moje nova verze bude v masteru, musim udelat pull request. Selection se nidky nemela dedit, to jen nejakej blazen tak napsal tutorial :/