Why is the SELECT timeline different though the WHERE clause & EXPLAIN plan are same?
Without more information, we can only guess why these two almost identical queries run with so much different efficiency (about 500x).

But we can make a few guesses based on the facts:


There is no index on SID and UPDATE_STAMP so both queries do a table scan. 
The difference must lie in the mediumtext type. 
This difference in speed suggests that the first query can do the table scan relatively quickly (the table is small) and find that no rows satisfy the condition. But the second query is very slow compared to the first one. My guess is that the mediumtext column has some long texts in it. As text and long varchar column values are not stored in the table/index pages but in different locations, this would explain the difference. In the 2nd query, the engine fetches these values as well while running the full table scan (so many more pages have to be read from disk) and thus the slow performance.


A suggestion to improve efficiency. Find first the primary key of the wanted row, using a subquery, then fetch the whole row:

select file_data 
from bb_table 
where pk = ( select pk            -- where pk is the PRIMARY KEY
             from bb_table
             where update_stamp &gt; '0' 
             limit 1
           ) ;