... large table ... more than 100,000 records
That's not "large" - not even close to "large".
Stick a handful of zeroes on the end of that and you're getting up to "large".
the problem ... column called "profile_picture" containing the binary data of the image ...
In itself, that column should not be an issue.
So, the select query on this table is very very slow. How I can optimize that?
By tuning the query.
Now, there are a lot of really good people around here but, as far as I know, none of them are psychic.
Show us the errant query and the structure of the table(s) that it uses.
Most likely, you're query is filtering rows by a column that doesn't have an index on it but, until we see the actual query, we can't be sure.