Autor | Zpráva | ||
---|---|---|---|
maarlin Profil |
#1 · Zasláno: 19. 10. 2010, 22:23:19
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 * |
#2 · Zasláno: 20. 10. 2010, 00:23:35
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í.
|
||
Časová prodleva: 14 let
|
0