Използвайте COUNT , вътрешно сървърът ще обработи заявката по различен начин.
Когато правите COUNT , сървърът ще разпредели памет само за съхраняване на резултата от броенето.
Когато използвате mysql_num_rows , сървърът ще обработи целия набор от резултати, ще разпредели памет за всички тези резултати и ще постави сървъра в режим на извличане, който включва много различни детайли, като например заключване.
Мислете за това като следните псевдо сценарии:
SELECT COUNT(*)
Хей, Боб, колко човека има в класната стая?
mysql_num_rows
Хей, Боб, изпрати всички хора от класната стая при мен, ... ще ги преброя, за да получа сам броя на хората
В обобщение, когато използвате mysql_num_rows вие прехвърляте всички записи на клиента и клиентът ще трябва сам да изчисли броя.