EXPLAIN type ALL means it read the whole table

EXPLAIN output has a dozen columns and two of them carry most of the signal. type describes how MySQL reached the rows, and ALL is the worst answer: no index was usable, so every row was examined.

EXPLAIN SELECT * FROM orders WHERE status = 'paid'G

           type: ALL
           key: NULL
          rows: 412883
         Extra: Using where

Read type, then rows, then Extra. The rough order from worst to best is ALL, index, range, ref, eq_ref, const. rows is an estimate from the optimiser’s statistics rather than a measurement, so it can be badly wrong on a table that has not been analysed — but the order of magnitude is what matters. Using filesort in Extra means the sort could not use an index either.