通过MySQL查询插入Symfony NestedSet数据

时间:2011-11-30 07:19:37

标签: mysql symfony1 doctrine symfony-1.4 nested-sets

在Symfony探索项目中,我有一个使用doctrine NestedSet行为的模型。由于数据是在平面文件中准备的,我写了一个conversion utility来生成相应的YAML。事实证明,处理大约100条记录(max_depth = 4)的NestedSet YML消耗了超过40MB的PHP内存,这是我无法使用的。

这个问题有解决办法吗?

我正在考虑两种可能的解决方案。

  1. 编写一个等效的PHP脚本来填充对象&保存他们
  2. 通过SQL语句插入数据,挑战在于计算左边和右边的数据。右节点
  3. Symfonians建议什么?

2 个答案:

答案 0 :(得分:1)

我建议您多次插入数据,例如,从0级开始,每个级别一次。

答案 1 :(得分:0)

选项2更好。

我在Excel中编写了一个简单的宏来计算预订树所需的lgt和rgt值。这里提到的逻辑:http://www.sitepoint.com/hierarchical-data-database-2/ 相同的Excel实用程序会将值转换为可以通过文件转储的SQL查询。

通过灯具/对象路线超出了允许的内存限制。