Se seu objetivo é realmente contar as linhas, use
COUNT(*)
. num_rows
é normalmente (na minha experiência) usado apenas para confirmar que mais de zero linhas foram retornadas e continuam nesse caso. Provavelmente levará mais tempo para o MySQL ler muitas linhas selecionadas em comparação com a agregação em COUNT
também, mesmo que a própria consulta leve o mesmo tempo.