2011-08-18 81 views
0

可能重复:
What is the best way to store a series of images in MySQL?将MySQL用于图像库的最佳方式是什么?

这是我的朋友几个月前建立的第一个网站: http://www.jpsinghphotography.co.uk

我要重建它作为我的第一个PHP/MySQL项目,但我有几个关于如何构建数据库的问题。

1)最好使用BLOB数据类型将实际图像文件放入数据库中;或存储文件名称并使用它们查找服务器上另一个文件夹中的图像?

2)我是SQL新手,最初我想为每个我想创建的库创建一个单独的表。一个表按类别分类更好的方式是什么?

感谢您的任何和所有的意见

+0

尝试搜索这个网站,有很多你的问题的答案。 – Jacco

+0

http://stackoverflow.com/questions/4774289/what-is-the-best-way-to-store-a-series-of-images-in-mysql/4774307#4774307 – NAVEED

+1

关于2):请有一个看看关系数据库的设计和规范化,因为每个画廊的独立表格绝对是错误的路要走。 – Jacob

回答

1

欢迎计算器。

  1. 你可以把图像数据放在MySQL中,但通常最好把它们作为文件。这使他们更容易缓存和缩略图,否则你必须自己做。

  2. 按类别排序的一张表可以让您在类别名称中更加灵活,并且可以更轻松地在类别之间移动图像以及从多个类别获取信息,例如每个类别的图像数量。

+0

这很好,谢谢。 –

0

我会坚持提供参考即。 MySQL表中的文件名。将图像作为BLOB放在桌面上意味着您现在保留了两张你的照片。如果你的主要应用是存储历史,这是有道理的,但否则,对原始文件的简单引用可能会更好。 第二个问题可能是存储空间:如果你BLOB的图片,你显然会处理一些非常大的表。这可能也可能不是问题。 正如其他人发表的那样,为每个画廊创建多个表格是一个明确的禁忌,违背了使用关系数据库的整个理念。简单地添加一列到图片表中,该图表包含图库ID并使其成为唯一密钥的一部分。你也可能想要一个单独的画廊表格,以使其更“正常化”。

+0

这是有道理的 - 最终可能会出现1000张强壮的图像,这是我的担忧 - 文件名称就是这样! –

相关问题