我正在开发一个需要以HTML格式输出完美二叉树的CI项目。树中的每个节点都与表中的记录相关。该表目前有超过1000万行,我将需要输出深度至少为9的树,因此如果没有最佳构建,事情可能会很快变慢。
使用CI的MVC范例,组织这些数据的最佳方法是什么?有了这么大的表,我不想多次访问数据库,构建像这样的树可能会很快变得昂贵(#cell = 2 ^(depth + 1)-1)。
到目前为止,我已经构建了控制器来处理请求(简单部分)和一个库来处理/构建树结构,方法是递归命中数据库并为每个节点创建一个对象。我有点不知道如何组织休息。我应该在视图/帮助器中处理树遍历和HTML输出吗?如果我们这样做,那么在我认为人们试图避免的视图中会有一大堆逻辑。同样地,我知道它被忽略了从库中输出任何HTML,但是给定这种结构,似乎从那里处理所有递归/输出似乎是合乎逻辑的。
任何建议都会非常有用,并提前感谢!