sql >> Base de Datos >  >> RDS >> Mysql

¿Por qué las filas devueltas por explicación no son iguales a contar ()?

Muestra cuántas filas recorrió para obtener su resultado.

El motivo de los datos erróneos es que EXPLAIN no es preciso, hace conjeturas sobre sus datos en función de la información almacenada sobre su tabla.

Esta es una información muy útil, por ejemplo, cuando hace JOINS en muchas tablas y desea asegurarse de que no está ejecutando toda la tabla unida para obtener una fila de información por cada fila que tenga.

Aquí hay una prueba en una tabla de 608 filas.

SELECT COUNT(id) FROM table WHERE user_id = 1

Resultado:

COUNT(id)
512

Y aquí está la explicación

EXPLAIN SELECT COUNT(id) FROM table WHERE user_id = 1

Resultado:

id  rows
1   608