Autor Zpráva
maarlin
Profil
Ptám se možná na takovou banalitu...

Jak se vyhodnotí MySQL dotaz jako např.:
SELECT a.*, (SELECT COUNT(*) FROM comments WHERE articles_id=a.id) AS comments_count FROM articles a LIMIT 0,10


Provede se ten subquery - počítání komentářů skutečně jen pro těch 10 článků, nebo se nejprve vše spočítá na všech záznamech a vrátí jen 10?
Jak by se změnila interpretace, kdybych tam třeba přidal
HAVING comments_count > 1
?
Kajman_
Profil *
Zkuste si explain na obě varianty (na větší tabulce budou rozdíly i v čase). Myslím, že to bude tak, jak píšete. V prvním případě max 10 poddotazů, v druhém si ale nejsem jistý, jestli bude počítat všechny řádky nebo skončí, když najde desátý vyhovující.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0