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.