Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa noite.
Qual a melhor forma de contar dados na tabela?
SELECT COUNT(*) usando o fetch
$query = $mysqli->prepare("SELECT COUNT(*) FROM votos WHERE valor = ?");
$query->bind_param("s", $paramm);
$query->execute();
$query->bind_result($valor);
$query->store_result();
while( $query->fetch()){
echo $valor;
}
SELECT * FROM usando o num_rows
$query = $mysqli->prepare("SELECT * FROM votos");
$query->execute();
$query->store_result();
$rows = $query->num_rows;
echo $rows;
Existe muita diferença entre os dois? Estou fazendo certo?
Na verdade, isso não é nem questão de opinião; é constatação, mesmo.
O desempenho é absurdamente diferente. Experimente inserir uns 10k ou 100k registros e verá a diferença na prática. Se a tabela tiver muitos campos, um SELECT * levará ainda mais tempo.
Em suma, como o ESerra disse, se quiser apenas o total, sem dúvidas deve usar COUNT
obrigado.
Depende, se você precisa apenas da quantidade, use COUNT, isso vai poupar recursos, se você precisa da quantidade e dos dados efetivamente, ai use o num_rows...