MySQL why EXPLAIN result is confusing?
The rows column of EXPLAIN output is an estimate of the rows to be examined. Thus, value of this column and number of rows returned on executing the command can be different.