制作树的持久副本(C ++)

时间:2014-01-03 09:38:39

标签: c++ tree persist

我正在考虑将这个类似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。我还没有把它作为答案,因为我仍然对任何替代解决方案感兴趣。

1 个答案:

答案 0 :(得分:0)

我会将每个节点保存在一个SQL表中(每个节点一行),也许每个节点 - &gt;另一个表中的兄弟关系。 我不确定SQL是最好的持久方式。你可以考虑使用JSON。