Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment utiliser MySQL Found_Rows() en PHP ?

SQL_CALC_FOUND_ROWS n'est utile que si vous utilisez un LIMIT clause, mais je veux toujours savoir combien de lignes auraient été trouvées sans la LIMIT .

Pensez à comment cela fonctionne :

SELECT SQL_CALC_FOUND_ROWS * FROM Users;

Vous forcez la base de données à récupérer/analyser TOUTES les données de la table, puis vous les jetez. Même si vous ne récupérez aucune des lignes, le serveur de base de données commencera quand même à extraire les données réelles du disque en supposant que vous voudrez ces données.

En termes humains, vous avez acheté tout le contenu de la super épicerie, mais tout jeté sauf le paquet de chewing-gum du stand près de la caissière.

Alors qu'en faisant :

SELECT count(*) FROM users;

permet au moteur de base de données de savoir que même si vous voulez savoir combien de lignes il y a, vous ne vous souciez pas moins des données réelles. Sur la plupart des SGBD intelligents, le moteur peut récupérer ce nombre à partir des métadonnées de la table, ou une simple analyse de l'index de clé primaire de la table, sans jamais toucher aux données de ligne sur disque.