sql >> Databasteknik >  >> RDS >> Mysql

SELECT COUNT() vs mysql_num_rows();

Använd COUNT internt kommer servern att bearbeta begäran annorlunda.

När du gör COUNT , kommer servern endast att allokera minne för att lagra resultatet av räkningen.

När du använder mysql_num_rows , kommer servern att bearbeta hela resultatuppsättningen, allokera minne för alla dessa resultat och sätta servern i hämtningsläge, vilket involverar många olika detaljer, såsom låsning.

Tänk på det som följande pseudoscenarier:

SELECT COUNT(*)

Hej Bob, hur många personer är i klassrummet?

mysql_num_rows

Hej Bob, skicka alla personer från klassrummet till mig, ... jag ska räkna dem för att få antalet personer själv

Sammanfattningsvis, när du använder mysql_num_rows du överför alla poster till klienten och klienten måste själv beräkna räkningen.



  1. Hur ställer man in timern för att anropa en funktion var n:e minut?

  2. Så här kontrollerar du din MySQL-version

  3. Hur man hittar ett listobjekt på en specificerad position i SQL Server

  4. Vad betyder SQL Select-symbolen || betyda?