E' praticamente la stessa cosa. crei una tabella temporanea che passi in from.
Una volta senza subquery si dovevano fare in modo distinto.
Ma non e' una limitazione. E' il raggruppamento che deve avvenire per primo a prescindere da altre condizioni.
E' praticamente la stessa cosa. crei una tabella temporanea che passi in from.
Una volta senza subquery si dovevano fare in modo distinto.
Ma non e' una limitazione. E' il raggruppamento che deve avvenire per primo a prescindere da altre condizioni.
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
in m$sql sono abituato a fare tabelle temp invece di subquery per questioni di performance: con mysql temp e subquery si equivalgono in termini di performance?
dipende da cosa e come. A me serve la tabella temporanea perche' di solito la utizzo per piu' query successive mentre la select annidata dovrebbe essere ripetuta ogni volta.Originariamente inviato da optime
in m$sql sono abituato a fare tabelle temp invece di subquery per questioni di performance: con mysql temp e subquery si equivalgono in termini di performance?
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
bhè dipende, da 2 aspetti.Originariamente inviato da optime
in m$sql sono abituato a fare tabelle temp invece di subquery per questioni di performance: con mysql temp e subquery si equivalgono in termini di performance?
Il primo è la versione di mysql che si usa, <=5.1, 5.5, 5.6, o mariadb
Il secondo riguarda la necessità di avere (nel caso) lock a livello tabella e non riga della temp.
Per il secondo caso è normale usare l'engine HEAP, ovvero fare tabelle temporanee in RAM, le quali però hanno il "problemino" di avere lock a tabella.
Nel primo caso le subquery dipendenti vengono elaborate per ogni ciclo (dall'interno all'esterno) per mysql < 5.5.
In certi casi no (per 5.5), ed anche in altri no (5.6).
Nel caso di mariadb, sia 5.3 che 5.5, esistono le subquery materializzate le quali (a seconda dei casi) possono finalmente rendere usabili le subquery in mysql (in mariadb in realtà).
Come vedi se non si conosce bene lo strumento utilizzato è facile farsi convinzioni errate