The reason for keeping your images out of a dbms, no matter how small, is not because the image retrieval itself particularly slows down the database. Instead, it's because it makes your database and web app do extra, unnecessary, work.
When a user requests the image, your web app (php, or whatever language) must use a SELECT to retrieve the information from the database and then send it to the user's browser. That's extra work for the web app and the database. If you send a page with five images on it, your web app will have to handle six requests from the browser rather than one. That's the cause of the slowdown.
Ordinarily a web page with images has, in the browser, HTML looking something like this:
<p>blah blah blah</p>
<div><img src="/images/thumbnails/0045.jpg" width="120" height="120" /></div>
(etc)
Your web app gets a request and assembles and delivers the page html. The web browser parses the page, renders it, and finds all the <img />
tags. The browser then issues another request to your web app for each image it finds. To handle those requests for images, your web app must handle a separate request from the browser for each image. When handling each of those requests, your code must then issue another SELECT request, receive the requested image from the dbms, and send it to the browser.
So, the SELECT you do to deliver the page doesn't need the image blob and can't use it. The SELECTs you do to retrieve the images probably can't use the columns containing html content.
Those extra requests to your web app are the problem caused by storing images in a table. (Also, most dbms systems including MySQL have to do a little bit of extra work to fetch BLOBs.)
And, your web app has to deal with the headers to control caching, content-type, and so on. That's an extra programming and testing burden.
Images, even thumbnails, are static. Web servers like apache and nginx are tremendously optimized to deliver them to browsers directly from your server's file system. (The servers memory-map the file, then just write that memory to the outbound HTTP socket with one send
call.) And, if your app scales up you can use a content delivery network (like Cloudflare) to deliver the static images rapidly to large numbers of users.
You do need to manage your images in your file system, and tell your web server where to get them. The material you've read about images and databases has multiple suggestions for doing that.
If certain pages of your content have unchanging thumbnails in them, you might consider embedding the images directly in the pages' html using data urls.