Buona serata,sto facendo vari tentativi nel capire e scegliere il metodo migliore per contare le righe di una query.
Esempio di una tabella:
1) Metodo
Stampa 2 quindi funziona.
2) Metodo
Quale metodo è migliore?
Provo a dire la mia,correggetemi se sbaglio secondo me è meglio utilizzare COUNT(id) perchè in questo modo viene controllato solo il primo campo(id) fregandosene degli altri e quindi la ricerca sarà molto più veloce rispetto a SELECT * .
E' giusto il mio ragionamento?
Infine un'altra cosa che non ho capito è come mai scrivendo in questo modo:
Nel primo metodo usando mysql_num_rows con SELECT * funziona bene,mentre usandolo con SELECT COUNT(id) non funziona più,come mai?
Esempio di una tabella:
id | marca | prezzo |
1 | nike | 80,00 |
2 | adidas | 80,00 |
1) Metodo
$sql = "SELECT *
FROM scarpe";
$res = mysql_query($sql) or die($sql);
$res = mysql_num_rows($res);
echo $res;
Stampa 2 quindi funziona.
2) Metodo
Stampa 2 quindi funziona.$sql = "SELECT COUNT(id)
FROM scarpe";
$res = mysql_query($sql) or die($sql);
$res = mysql_fetch_row($res);
echo $res[0];
Quale metodo è migliore?
Provo a dire la mia,correggetemi se sbaglio secondo me è meglio utilizzare COUNT(id) perchè in questo modo viene controllato solo il primo campo(id) fregandosene degli altri e quindi la ricerca sarà molto più veloce rispetto a SELECT * .
E' giusto il mio ragionamento?
Infine un'altra cosa che non ho capito è come mai scrivendo in questo modo:
Stampa 1 quindi non funziona?$sql = "SELECT COUNT(id)
FROM scarpe";
$res = mysql_query($sql) or die($sql);
$res = mysql_num_rows($res);
echo $res;
Nel primo metodo usando mysql_num_rows con SELECT * funziona bene,mentre usandolo con SELECT COUNT(id) non funziona più,come mai?