通过文件将十六进制存储在数据库中的好处

Benefits of storing hex in DB over file

我的任务是将内部应用程序从使用 MSSQL 后端的 ASP 迁移到使用 MySQL 的 PHP。该应用程序允许用户上传和下载文件、搜索其中的内容等...

在确定当前应用程序的范围后,我发现以前的开发人员将文件的十六进制值(无论是 word/pdf 等...)存储在数据库中,而不是创建二进制文件磁盘上的文件...在一个受保护的文件夹中。我想知道我是否应该在新应用程序中复制此行为或执行二进制导入。

在新的应用程序中,我打算编写一个将文件读取为字符串的函数(用于在数据库中进行全文搜索)和一个将文件位置存储在磁盘上的字段。

两种方法的pros/cons是什么?

将二进制文件放到磁盘上。没有理由将它们保留在数据库中。

您可能想要做的是读取包含文档 reader 的文件并为其内容编制索引。将该内容放入数据库中,以便您可以轻松搜索文件。