Miso Pach <miso@stripped> wrote:
> On Mon, 26 Jul 1999, Sasha Pachev wrote:
> > MySQL relies on the filesystem to store the data. It would be rather
> > wasteful to use it store large chunks of data that does not need to be
> > orginized or searched in any particular fashion - you can get the same
> > from the filesystem without the SQL overhead.
>
> Is this true? Everybody who stores something binary in a
> database is planning on some searching right? By na ID,
> annotation etc.. mysql engine is much better and faster in
> locating the chung of data than say a filesystem. Say you
> need to store 10,000 GIFs (size of 3KB each) in a table. It
> makes me think that mysql is the solution. Am I wrong?
You only really need the data in MYSQL if you are going to do queries on the
contents. If you're just going to say "Give me the BLOB with id 5693", then
the differences between filesystem and database storage become important -
because it's trivially easy to build a filesystem structure which returns
the file with id 5693!
At 3KB, with images that seldom change (less than once per week, say), with
under perhaps 100,000 images, I'd probably not hesitate to use blobs. I
might make arrangements to protect from fragmentation, though, say by
forcing the blobs to always be larger than my largest image (which only
works if you can limit the image sizes drastically). If the images were
going to vary between 3KB and 100KB, and were going to change a couple times
a day, then it's likely that you would start to have problems with blobs due
to fragmentation.
Of course, the most used filesystems in the world fragment as badly or worse
than MYSQL :-).
Later,
scott