sql >> Database >  >> RDS >> Mysql

SELECTEER AANTAL() versus mysql_num_rows();

Gebruik COUNT , zal de server het verzoek intern anders verwerken.

Bij het doen van COUNT , zal de server alleen geheugen toewijzen om het resultaat van de telling op te slaan.

Bij gebruik van mysql_num_rows , zal de server de volledige resultatenset verwerken, geheugen toewijzen voor al die resultaten en de server in de ophaalmodus zetten, wat veel verschillende details met zich meebrengt, zoals vergrendeling.

Zie het als de volgende pseudo-scenario's:

SELECT COUNT(*)

Hé Bob, hoeveel mensen zijn er in de klas?

mysql_num_rows

Hé Bob, stuur alle mensen uit de klas naar mij toe, ... ik tel ze om het aantal mensen zelf te krijgen

Samengevat, bij gebruik van mysql_num_rows je draagt ​​alle records over aan de klant en de klant zal de telling zelf moeten berekenen.



  1. Is er een functie om een ​​string te splitsen in PL/SQL?

  2. orakel | dubbele records verwijderen

  3. Hoe kan ik row_number in Oracle versnellen?

  4. Hoe kan ik een MySQL-resultatenset meer dan eens doorlopen met de mysql_*-functies?