equids Posté 7 Août 2008 Posté 7 Août 2008 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 ? $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 Posté 7 Août 2008 Posté 7 Août 2008 Hello, ça dépend un peu du contexte, mais dans la majeure partie des cas oui c'est ça.
equids Posté 8 Août 2008 Auteur Posté 8 Août 2008 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 Posté 8 Août 2008 Posté 8 Août 2008 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 Posté 8 Août 2008 Posté 8 Août 2008 Plutôt que d'effectuer un mysql_fetch_row, tu peux utiliser mysql_result() : $num = musql_result($req, 0);
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant