La mejor forma es NUNCA llevar imágenes ni archivos a una base de datos.
por la cantidad de espacio en disco ??? o por que no aconsejas adjuntar a la BD las imagenes ??
BYTE.
hay varios factores.
el primero de ellos es que las bases de datos se construyen habitualmente para múltiples consultas de datos desde diferentes nodos, asi que si en varios nodos están consultando la tabla de imágenes la base de datos se sobrecargara despachando un alto volumen de datos a cada uno de los nodos un alto volumen de datos que representa generalmente solo uno de los datos del registro.
Ese alto volumen de datos tiene un alto volumen de procesamiento innecesario puesto que es como si pasara por dos sistemas operativos, el sistema de archivos de la máquina y el sistema de archivos interno de la base de datos.
Lo peor es cuando las tablas crecen...
Caso:
la tabla es de 15' de registros...
la tabla tiene 15 campos, uno de ellos es una imagen que siempre se anexa, pero en determinados momentos se requieren consultar registros , puede o no ser necesario consultar la imagen perop la distancia 'fisica' entre un registro y otro es bastante amplia debido a las propias imagenes asi que encontrar nu registro se vuelve una tarea desgastante para el motor de BD.
Otro gran problema es que las imagenes deben tener nu limite de tamaño o mejor aun un tamaño fijo obligatorio, pero esto nunca se controla y registros que pesan 500 bytes en datos pueden tener una imagen de 10 mb.... lo cual es un completo desperdicio .
Las tareas de backup se dificultan también, es muy diferente hacer backup de un sistema de archivos y conservar solo la información necesaria de 1 -2 años atras y otra muy diferente hacer esa tarea en la base de datos.
en la base de datos lo correcto es guardar una referencia a la imagen, es decir un nombre del archivo de la imagen el cual puede permitir ubicar esa imagen en el sistema de archivos o cinta de backup o lo que sea.