While SQL Server is capable of storing images in blob columns, the retrieval of images from the database does incur certain overhead that you have already noticed. For that reason, many high performance Web sites store only image names and path-to-the image folders. The application then retrieves the image from the file system, rather than pulling it from the database. You didn't provide many details about how the application works or what it does with images. But, based on what I know, I would recommend storing path-to-image folders in a reference table, and then have a table that stores image names and any additional details you may need.
If you move images to another folder, you just modify the path to the image folder. Using this approach also makes image management much easier since you can easily preview, resize or move images stored in the file system. Storing them in the database often requires a lot of custom coding to implement image management. So, unless you have some really unique requirements, in most cases you are better off with images in the file system and image locations in the database.
This was first published in December 2007