可能重复:
What is the best way to store a series of images in MySQL?
这是我几个月前为朋友建立的第一个网站: http://www.jpsinghphotography.co.uk
我想重建它作为我的第一个PHP / MySQL项目,但我有几个关于如何构建数据库的问题。
1)最好使用BLOB数据类型将实际图像文件放在数据库中;或者存储文件名并使用它们从服务器上的另一个文件夹中查找图像?
2)我是SQL的新手,我最初想为每个我想创建的图库创建一个单独的表。一个表在哪些方面按类别排序更好?
感谢您提出的所有建议
答案 0 :(得分:1)
欢迎使用stackoverflow。
您可以将图像数据放在MySQL中,但通常最好将它们作为文件放入。这使得它们更容易缓存和缩略图,否则你必须自己做。
按类别排序的一个表格可以让您更灵活地使用类别名称,并且可以更轻松地在类别之间移动图像,以及从多个类别中获取信息,例如每个类别的图像计数。
答案 1 :(得分:0)
我会坚持提供参考,即。 MySQL表中的文件名。将图像作为BLOB放在表中意味着你现在要保留两张照片。如果您的主要应用程序是存储历史记录,这是有道理的,但除此之外,对原始文件的简单引用可能更好。 第二个问题可能是存储空间:如果您对图片进行BLOB,您显然会处理一些非常大的表。这可能是也可能不是问题。 正如其他人发布的那样,为每个图库创建多个表是一个明确的禁忌,并且违背了使用关系数据库的整个理念。简单地将一列添加到包含图库ID的图片表中,并使其成为唯一键的一部分。您可能还需要一个单独的图库表,以便更加“标准化”。