我正在考虑将这个类似STL的树库用于C ++ http://tree.phi-sci.com/来存储分层数据(想想组织结构图)。
在我的情况下,树只包含结构,每个节点的“有效载荷”存储在别处。因此它最终可能会以tree<int>
或tree<simple_class_containing_a_couple_of_ints>
我想找到坚持这棵树的最好方法。更具体地说,我想找到将树持久保存到SQL数据库的最佳方法,以便在启动时将其加载回应用程序。
所以我的问题是:如何将tree.hh容器中包含的树保存到SQL数据库?
注意:没有必要将其作为树结构存储在数据库中(即不需要嵌套集,邻接列表)。无需查询数据库,因为整个树将被加载到内存中。
更新:
我在这里找到了这个类作为tree.hh的替代方法:http://stlplus.sourceforge.net/stlplus3/docs/ntree.html 我还不能评论任何性能差异,但它主要实现我需要的东西,并且有一个持久性类(抱歉没有链接,因为没有足够的声誉)我可以转储到BLOB。我还没有把它作为答案,因为我仍然对任何替代解决方案感兴趣。
答案 0 :(得分:0)
我会将每个节点保存在一个SQL表中(每个节点一行),也许每个节点 - &gt;另一个表中的兄弟关系。 我不确定SQL是最好的持久方式。你可以考虑使用JSON。