FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
¿Campo BLOB en Firebird = BD Grande y lenta?
Bueno, pues la pregunta está lanzada en el título del tema, ahora me explayo con ella.
Estoy haciendo un sistema con Firebird, en dicho sistema se almacenan datos de clientes, entre ellos sus fotos. ¿Me recomiendan guardar las fotos en un campo BLOB o mejor guardo las fotos en una ruta "x" y en la BD dicha ruta? Le veo algunos inconvenientes a cada método utilizado, es por eso de la pregunta: El primer método (solo guardar la ruta de la foto en la BD) tiene el inconveniente de que el usuario tiene que tomar una foto y guardarlo con un nombre de archivo y formato específico. Esto implica que si el usuario se equivoca en algo (ruta, nombre, formato) la foto ya no aparecerá, se tendría que validar mucho dentro de Delphi para que funcionara bien esto. Una foto borrada por error, el folder de fotos borrados por error, entre otros. El método que más me convence es el de guardar la foto en un campo BLOB dentro de la BD, pero no se si esto afecte mucho el tamaño (supongo que si y de manera considerable), y tampoco conozco si afecte la velocidad de las búsquedas (estoy empezando con Firebird y no conozco mucho de este RDBMS) y/o al sacar los datos para ser desplegados. ¿Me pueden auxiliar por favor? Gracias de antemano.
__________________
Javier Oros dice: Deus nobiscum, quis contra nos |
#2
|
||||
|
||||
Es un tema "clásico" que se ha tratado muchas veces, haz una búsqueda por clubdelphi, verás que encuentras varias entradas al respecto.
Personalmente te aconsejo que la guardes dentro de la BD porque una simple foto ocupa poco. |
#3
|
|||
|
|||
A la velocidad de busquedas no va a afectar para nada ya que los blob se guardan de manera optimizada.
Si guardas las fotos en una carpeta tendras que dar permisos a usuarios de red para esta carpeta. El tamaño depende del formato de imagenes, si son jpg o gif no afectara mucho.. |
#4
|
||||
|
||||
En mi caso usamos los dos casos, ficheros externos y campos Blob.
Hemos creado una clase que se encarga de ello, dependiendo de la necesidad, ficheros grandes o pequeños, comprimidos, encriptadas, etc. Para el caso de almacenar en fichero, la clase se encarga de mapear el directorio donde se almacenan las imágenes, que es un subdirectorio que cuelga del directorio de la BBDD. Los ficheros se copian desde la ruta seleccionada por el usuario al subdirectorio de la BBDD este subdirectorio no lo conoce el usuario es transparente para el. Lo que se almacena en la BBDD es el nombre del fichero, la ruta la proporciona la aplicación como he comentado. un saludo y espero que te sirva
__________________
PepeLolo El hombre el único virus que mide más de unas cuantas micras |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Campo Llave grande en Firebird | jorosmtz | Firebird e Interbase | 6 | 16-07-2011 16:01:04 |
[DUDA] CAMPO BLOB en Firebird | carmotion | Conexión con bases de datos | 3 | 30-06-2011 20:59:26 |
Conexion Con Interbase/FireBIrd lenta...muy lenta | federiconqn21 | Firebird e Interbase | 3 | 11-03-2010 13:13:34 |
Sp,firebird,campo blob binary | Luis M. | Firebird e Interbase | 3 | 11-07-2008 11:24:46 |
Grabar Imagen en campo BLOB Firebird | pcicom | Conexión con bases de datos | 0 | 06-04-2005 01:34:06 |
|