Hola tengo una BD en MySql y ahora se me ocurrió guardar fotografías en la misma.. A hora bien la bd funciona correctamente, se que tengo que agregar un campo blog a la existente, pero me he enterado que la BD se vuelve lenta y difícil de mantener, ¿es verdad? Y si guardo las fotos en otra carpeta, en un formato .jpg para el fácil mantenimiento en forma tradicional y como relaciono el ID de la BD MySql con las fotos ingresadas, ¿a no ser que las llame de exprofeso con cada numero de ID o existe alguna otra forma?
Gracias
La situación que preguntas si se convirte en lenta y difícil de mantener no existe una respuesta mágica, depende de muchos factores. Si el campo blog para almacenar las imágenes está en una tabla independiente, no tiene por que volverse lento el acceso a ellos, si está en una tabla con muchas consultas, inserciones y eliminaciones si va a afectar más, sobretodo si son muchos registros y según crezca más aún, pero sobretodo por tema de memoria en el propio mysql. Si lo vas a gestionar desde mysql te recomiendo separarlo en otra tabla con un indice que lo relacione con el dato a buscar y hacer SELECT que lo obtenga sólo cuando sea absolutamente necesario. La otra forma es guardarlo en un directorio y simplemente en vez de guardar el campo blog, guardas la ruta a la imagen, y con el lenguaje de programación que utilices al obtener el dato de ruta lo leas y obtengas la imagen del sistema de fichero. Nombrar a los ficheros .jpg es una forma, pero se deja demasiado claro como encontrarlas a parte de que ademas puede complicarte su utilización si luego en el diseño de la base de datos se hacen modificaciones, es mejor guardar su nombre y/o ruta (asegurándose al guardar la imagen que sea un nombre único) Si te basas sólo en guardarlo en el sistema de fichero, también se puede volver lento si el número de ficheros crece mucho, ya que el listado del mismo se va a ir relentizando, lo mejor por tanto resulta la unión de ambos métodos, es decir, guardar las rutas en mysql y el fichero en el sistema de ficheros.