sql >> Database teknologi >  >> RDS >> Mysql

VÆLG COUNT() vs mysql_num_rows();

Brug COUNT internt vil serveren behandle anmodningen anderledes.

Når du laver COUNT , vil serveren kun allokere hukommelse til at gemme resultatet af optællingen.

Når du bruger mysql_num_rows , vil serveren behandle hele resultatsættet, allokere hukommelse til alle disse resultater og sætte serveren i hentetilstand, som involverer en masse forskellige detaljer, såsom låsning.

Tænk på det som følgende pseudo-scenarier:

SELECT COUNT(*)

Hej Bob, hvor mange mennesker er der i klasseværelset?

mysql_num_rows

Hej Bob, send alle folk fra klasseværelset over til mig, ... jeg tæller dem for at få antallet af personer selv

Sammenfattende, når du bruger mysql_num_rows du overfører alle poster til klienten, og klienten skal selv beregne antallet.



  1. Forskellen mellem sys.sql_modules, sys.system_sql_modules og sys.all_sql_modules i SQL Server

  2. PostgreSQL-databasetjeneste

  3. indstilling af global sql_mode i mysql

  4. En fortælling om to klyngefaktorer