我正在考虑将工作目录(即递归/嵌套文件夹/文件)存储到 mysql 数据库中。
这个想法是有一个“项目”表,以及一个包含所有文件夹/文件及其在树中相应路径的表(varchar)。
查询项目应该返回文件夹和文件作为字符串路径列表(+一些元数据),我将使用它在客户端构建树。
我应该提到,我的工作目录中的"file"记录是表示 mongodb 数据存储中的 json 文件的元数据(它们将网页描述为复杂的嵌套 json)。文件记录将比文件夹更频繁地被查询(它们根本不会被查询),并且将链接到其他表。文件对于我的应用程序具有与文件夹不同的含义,文件夹仅对于我的工作目录很重要。
我的问题是最好的选择是什么:
- 将文件和文件夹存储在单独的表中
- 将文件和文件夹存储在同一个表中(记录几乎相同),并在包含 2 条记录"file"/“文件夹”的联接表上使用 FK
最佳答案
简短回答:“经典”关系数据库(包括 mysql)对此不太擅长。这是一个很好的链接:Managing hierarchical data in mySQL
另一方面,Wordpress 是一个可以完成您想要做的许多事情的应用程序 - 并且它都是在 mySql(或等效的 RDBMS)中完成的。
看here ,特别注意"taxonomies"部分。
另一种方法可能是查看 graph database ,例如 neo4J .
“希望有帮助......”
关于mysql - 创建文件夹/文件结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38554504/