我试图决定在Linux文件系统中唯一标识的文件path下还是在数据库表中的文本列中存储一些XML数据。 所有其他的事情是相同的,访问时间给定一个项目标识符(要么合并到文件path或数据库唯一列)大致相等?
我预计可能有20,000件物品。
20,000对于数据库来说没有任何意义,但是对于文件系统来说,如果它们全都在一个文件夹中,那么这个数据库就很重要
如果将它们拆分成单独的文件夹(可能使用GUID的前两个或四个字母),这将有所帮助。
这也取决于你的工作量。 如果您在表上进行了大量的阻塞/locking查询,请使用文件系统。
如果你想存储元数据的文件,并从第三方访问它们,使用数据库。
如果你想滚动自己的身份validation接口的文件,使用数据库。
如果您希望能够轻松修改记事本中的文件,请使用文件系统。
如果它们很大,请使用文件系统。 如果可以避免的话,你不需要20GB的文件。
文件系统是数据库。 他们只是为了完成一个特定的任务而优化 – 把相当大的对象保存在一个层次结构中。
当您决定是否需要数据库或文件系统时,需要考虑很多因素:
如果您打算将它们用作BLOB,则文件系统会更快。 他们越好越好作为文件。
如果您需要结构化数据,数据库中的parsingXML更快。
看到: