在包含 20,000 个项目的目录中查找文件名是否与在数据库中查找行一样有效?

dan*_*dan 0 filesystems database

我试图决定是将一些 XML 数据存储在 Linux 文件系统上唯一标识的文件路径下,还是存储在数据库表的文本列中。在所有其他条件相同的情况下,给定项目标识符(合并到文件路径或数据库唯一列中)的访问时间是否大致相等?

我预计可能有 20,000 件商品。

Mar*_*son 6

20,000 对数据库来说不算什么,但如果它们都在一个文件夹中,则对文件系统来说是很大的。

如果您将它们分成单独的文件夹(可能使用 GUID 的前 2 或 4 个字母),这将有所帮助。

这也取决于您的工作量。如果您对表进行大量阻塞/锁定查询,请使用文件系统。

如果要将元数据与文件一起存储并从第 3 方访问它们,请使用 db.

如果要滚动自己的身份验证以与文件交互,请使用 db.

如果您希望能够轻松地从记事本修改文件,请使用文件系统。

如果它们很大,请使用文件系统。如果可以避免的话,您不希望表中有 20gb 的文件。

  • @DerfK,这样你就付出了_both_ 的代价......除非你将文件组织到许多目录中,否则文件系统成本将是巨大的。 (2认同)