我应该使用什么来将图像保存到数据库中。在我用什么类型来存储和检索图像在PHP和MySQL。我应该使用什么来将图像保存在数据库中
回答
的经验法则是你不应该在数据库中存储的图像。 Blob是可用的,但相当糟糕。
你应该做的是将二进制文件存储在比数据库快许多倍的文件系统上,并在数据库中存储路径或链接或文件名,并让应用程序从路径加载图像。
这使您可以轻松实现像静态文件的CDN或SAN存储等东西。它甚至允许你使用类似lighttpd的东西显示静态内容图像而不是apache。
https://blogs.oracle.com/manveen/entry/blob_vs_file_system_storage给多一点信息,但有大量的统计信息和数据的约斑点
的缺点在网络上其他更深入的文章http://research.microsoft.com/apps/pubs/default.aspx?id=64525 – Dave 2013-02-08 14:21:05
使用BLOB
数据类型,这意味着二进制大对象
BLOB的可能比文件存储速度较慢,但它是非常容易复制,备份和恢复单个数据库文件,而不是管理/维护文件结构中的图像。
我还建议将图像存储在自己的专用数据库中(将属性/标记信息存储在单独的数据库中)。
我叮叮当当,下载文件并不复杂。其实,对我来说似乎更容易。 – 2013-02-08 14:29:42
没有它没有。 tar -cf/imagefolder/imagebackup.tar就像那样,将它设置为自动备份的cron。也更容易备份到s3之类的东西,例如使用重复数据而不会导致数据库服务器执行mysqldump的负载。由于db数据库的大小从图像存储中增长,数据库服务器的性能下降不足。 – Dave 2013-02-08 14:29:54
将图像存储在数据库中是一个非常糟糕的主意。数据库被确定为保存一小段信息 - 而不是图像或文件。你有这个目的的硬盘。
相反,您应该将图像保存在磁盘上并将其文件名保存在数据库中。这样的:
$name = uniqid();
file_put_contents($name.".png",$image_data);
mysql_query("INSERT INTO `images` (image) VALUES ('$name.png')") or die(mysql_error());
如果你真的坚持在DB保存图像使用BLOB。
简单&优化选项是上传服务器上的图像,并在数据库中存储“图像的网址”字符串。
Incase,你只想存储实际的图像文件,然后使用Blob数据类型。
- 1. 我应该将图片网址保存在数据库中吗?
- 2. 我应该将图像二进制数据保存到数据库还是将图像保存为文件?
- 3. 我们应该何时将图像存储在数据库中?
- 4. iOS - 我应该用什么来保存数据
- 5. 我应该使用C#保存图像的类型是什么?
- 6. 我应该使用什么来存储多个图像?
- 7. 我应该将图像保存在数据库还是文件夹中?
- 8. 图像应该保存在数据库中的磁盘上吗?
- 9. 我应该使用什么样的控件来显示保存在数据库中的图像,并将其编码为图像
- 10. 我应该使用哪种数据类型来将图像存储在数据库(PostgreSQL)中?
- 11. 我应该将我的图像保存在核心数据中,还是应该使用SDWebImage
- 12. 我应该使用什么数据类型来保存mysql数据库中的p值?
- 13. 我应该将掩码值保存在数据库中吗?
- 14. 将图像保存到数据库中
- 15. 我应该使用什么类型的数据结构来保存表行?
- 16. 我应该在linux下使用什么库来生成热图?
- 17. 我应该在SQLite数据库中存储图像吗?
- 18. 使用C#代码将图像保存在Informix数据库中?
- 19. 将图像保存到sqlite数据库有什么问题?
- 20. 我应该使用什么样的数据结构来存储文件库..?
- 21. 我应该将网站重要数据保存到数据库
- 22. 我应该使用什么格式在android中保存JSON数据
- 23. 我应该将位图存储在SQLITE数据库中吗
- 24. 我应该使用double类型来保存mysql数据库中的坐标吗?
- 25. 我应该使用什么字符集来将电子邮件存储在MySQL数据库中?
- 26. 我应该使用什么数据库来部署WPF应用程序?
- 27. 在SQLite数据库中保存图像
- 28. 图像保存在数据库中
- 29. 在数据库中保存图像
- 30. 图像不保存在数据库中
http://dev.mysql.com/doc/refman/5.1/en/blob.html – jussi 2013-02-08 14:12:35