sql >> Databáze >  >> RDS >> Mysql

SELECT COUNT() vs mysql_num_rows();

Použijte COUNT , interně server zpracuje požadavek jinak.

Při provádění COUNT , server přidělí pouze paměť pro uložení výsledku počítání.

Při použití mysql_num_rows , server zpracuje celou sadu výsledků, přidělí paměť pro všechny tyto výsledky a přepne server do režimu načítání, který zahrnuje spoustu různých detailů, jako je zamykání.

Představte si to jako následující pseudo scénáře:

SELECT COUNT(*)

Ahoj Bobe, kolik lidí je ve třídě?

mysql_num_rows

Hej Bobe, pošli ke mně všechny lidi ze třídy, ... já je spočítám, abych zjistil počet lidí sám

Stručně řečeno, při použití mysql_num_rows přenášíte všechny záznamy klientovi a klient si bude muset počet vypočítat sám.



  1. Jak získat počet dní rozdílu mezi dvěma daty na MySQL?

  2. Jak zkrátit tabulku s omezením cizího klíče?

  3. Jak najít podobné výsledky a seřadit je podle podobnosti?

  4. Převést „datetime“ na „smalldatetime“ v SQL Server (příklady T-SQL)