Si su único objetivo es comprobar si existe una fila en php (verdadero o falso), ¿cuál es la mejor manera de hacerlo?Entonces, ¿cuál es la mejor manera de verificar si existe una fila? EXISTS, COUNT o num_rows?
Opción 1?
$result = mysql_query("SELECT * FROM users WHERE id = '1'");
$num_rows = mysql_num_rows($result);
if ($num_rows == 1)
// one user, like it should be.
else
// do something else
Opción 2?
$query = mysql_query("select count(1) from users where id = 1")
if (mysql_result($query, 0) == 1)
// one user, like it should be.
else
// do something else
Opción 3? opción
$query = mysql_query("something like SELECT EXISTS(SELECT */1/COUNT(*)/etc. ...)")
if (mysql_result($query, 0) == 1)
// one user, like it should be.
else
// do something else
Beter 4?
lo que sea.
preguntas secundarias
COUNT(*), COUNT(1) or COUNT(id)
?
posible duplicado de [SQL conseguir la optimización del número de filas] (http://stackoverflow.com/questions/8852753/sql-getting-row-count-optimization) – mario
@mario: Está relacionado pero no es lo mismo. Aquí se pregunta si count = 0 o> 0, no el recuento exacto. –
@ypercube: los otros duplicados vinculados allí cubren eso. Y existen más en el tema COUNT vs EXISTS, http://stackoverflow.com/questions/1676551/best-way-to-test-if-a-row-exists-in-a-mysql-table – mario