Odkazy: dibi | API reference

Forum: [česky] [english]

dibi fórum

tiny ‘n’ smart
database layer

Nejste přihlášen(a)

#1 před 2 lety

honzakuchar
Moderator
Registrovaný: 12. 8. 2007
Příspěvky: 1578

Dramatické zrychlení při zjišťování počtu řádků v DibiFluent

Protože jak už David říkal, MySQL a složené dotazy prostě nejdou dohromady… :(

původní metoda:

public function count()
{
        return (int) $this->connection->query(
                'SELECT COUNT(*) FROM (%ex', $this->_export(), ') AS [data]'
        )->fetchSingle();
}

107.230 SELECT COUNT(*) FROM ( SELECT * FROM zakazky ) AS data 1 mysql/0

nová metoda:

public function count()
{
        $q = clone $this;
        return (int) $q->clause("select",true)
                ->select("count(*)")
                ->fetchSingle();
}

0.974 SELECT count(*) FROM zakazky LIMIT 1 1 mysql/0

To jest velice dramatické zrychlení! :)

Co to změnit v Dibi? Nenapadá mě dotaz, kdy by to nefungovalo.

Editoval honzakuchar (13. 10. 2009 19:19)

 

Zápatí