我目前是一名学生,我渴望成为一名优秀的Web开发人员:)
我想从事一些能够存储/检索图像或任何类型的文件(.doc,.xcl,.txt等)的"实践"项目。有人说最好将img/any文件存储在文件系统中,而不是将其保存在数据库中。
我想知道双方的利弊。
我还想知道在MySQL中存储imgs/文件的最佳数据类型是什么(我目前正在使用 longblob for PHP-MySQL)用于保存图像
我还想知道在SQL Server中存储imgs/文件的最佳数据类型是什么(我目前正在使用 SQL Server 2008 的 Asp.net Varbinary(max) )用于保存图像
最后,我只是好奇像Facebook和其他大型Web应用程序这样的网站如何存储img和文件。
先生/女士,您的回答将有很大帮助,非常感谢。谢谢++
Facebook使用大海捞针作为图像。
这是他们网站描述图像存储和检索的链接
http://www.facebook.com/note.php?note_id=76191543919
根据以前的经验,我建议不要将文件直接存储到 SQL 数据库中。
优点:存储在数据库中
-
文件"永久"保存
-
可以更轻松地限制对真实文件的访问
-
从技术上讲,您可以检查重复的文件。
-
您没有将文件保存在驱动器上,因此可以更快地访问服务器
-
服务器上的文件更少被认为是"更好"和更有条理的
-
"一个文件处理所有内容"
缺点:
-
如果站点已启动但数据库未启动,则文件将无效(通过"直接"链接)
-
一些无法重新配置的数据库只允许 blob 具有一定的大小限制(几 MB),因此无法存储真正的大图像(但可以分离)
-
将文件加载到(到变量)时,更多的数据存储在内存中;与上述问题类似,非常大的图像会降低服务器的速度。
-
某些文件可能具有不同的字符编码,因此存储和/或检索文件可能会损坏原始文件。我不确定这是否是真正的问题,但我认为是。
我个人建议您不要再将文件存储在我的数据库中,因为缺点。