jak používat count(*) efektivně?

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

A)

$db->table('tabulka')->where($filter)->count("*");

je výrazně pomalejší, než

B)

$db->exec('select count(*) from tabulka where ...');

Protože A nejdřív pustí query a pak počítá řádky ve výsledku. Lze donutit Nette\Database\Table api, aby se chovalo optimálně – tj pustilo query obdobnou B) ?

Editoval šuf (15. 12. 2016 9:57)

CZechBoY
Člen | 3608
+
0
-

Nevim co si tam přesně poslal, ale mně to pošle jen 1 count query a vrátí to co vrátila databáze.
https://api.nette.org/…ion.php.html#… → https://api.nette.org/…ion.php.html#…

Editoval CZechBoY (15. 12. 2016 9:58)

šuf
Člen | 14
+
+1
-

pardon, vyřešeno chyba byla v používání count() namísto count(„*“). Chovají se odlišně.