Version complète: sur le forum Webmaster Hub : Compter le nombre de lignes d'une table
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > SQL
equids
Bonjour,
je cherche la manière la moins gourmande en ressource de compter le nombre de lignes d'une table.

Voila ce que j'ai, est-ce la meilleure solution ?

CODE
$sql = "SELECT COUNT(*) FROM table";
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
$row = mysql_fetch_row($req);
echo $row[0];
Kioob
Hello,

ça dépend un peu du contexte, mais dans la majeure partie des cas oui c'est ça.
equids
CITATION(Kioob @ vendredi 8 août 2008 à 00:49) *
Hello,

ça dépend un peu du contexte, mais dans la majeure partie des cas oui c'est ça.


Le contexte, c'est que j'ai une table dont il faut que je sorte le nombre de ligne dans une variable,
sans avoir d'autre info a "demander"

Je voulais savoir quelle est la meilleure méthode pour le faire ?
Kioob
Si tu n'as pas d'autres requêtes à faire sur la table, le count(*) est très certainement le plus rapide pour du MyISAM oui.

Après pour de l'InnoDB ce n'est pas forcément le cas, et un show table status like 'tatable' est peut être plus intéressant bien que moins précis (comme le fait phpMyAdmin par exemple).
captain_torche
Plutôt que d'effectuer un mysql_fetch_row, tu peux utiliser mysql_result() :
CODE
$num = musql_result($req, 0);
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.