Why? What can i do to make the former as fast as the latter?
Because the BLOB is probably big and it requires a huge amount of processing power to query all these rows from database into memory. If you don't select it in your query, then database driver will not load BLOBs into memory, which allows it to complete faster.
If you need to do some kind of processing on these rows then display a progress dialog or something. What is your task anyway ? I doubt you will increment an integer in your final code, if you give us more details then maybe we can help to optimize your code.