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.