我正在努力寻找处理类别和子类别的最佳方法。我有20个类别和50个子类别。以下哪种方法最好:
将数据保存在json文件中并直接在客户端读取内容。
将数据保存在单个表中的数据库中,并使用父ID查看关系,并在同一数组的另一个foreach中的结果数组上使用foreach。
将数据保存在两个表的数据库中,对父类进行一次sql调用,另一次调用子类,并使用父id查看关系,并在父数组的另一个foreach中使用fore子数组。 / p>
将数据保存在两个表的数据库中,对父类进行一次sql调用,然后在其foreach中对数据库进行多次sql调用。
我试图找到处理类别的最佳做法,但找不到相同的文章。
答案 0 :(得分:0)
解决方案完全取决于数据库架构和其他实体与类别的关联程度。以及您打算如何阅读信息。
json方法会更快,但在涉及到要求您链接到类别附加信息的查询时会遇到问题。
我使用过并且性能良好的另一种方法是将所有类别存储在一个表中。关系不存储在主表中。
另一个表将关系存储为图形边缘。如果您在类别中有循环关系,这是非常有利的。或多个父母。
架构看起来像:
类别(id,name) category_edges(parent_id,child_id)
我在我的实现中使用oqgraph来更快地获得关系查询。但这是与MariaDB而不是mysql。
希望这有帮助。