一个目录树的父子节点有4千多或更多,现在用以前的XTREE代码出现了读取树结构读取不出的错误.请问用什么比较好,对于数据量较大的数据量的树型结构?????

解决方案 »

  1.   

    首先建议确认一下,“读取不出”是否的确因为内存不够造成的。对于这种大型的结构化数据,你的处理程序一般要考虑 lazy loading 的机制,不要在一开始一股脑把所有的数据都 load 到内存来,要尽量用到多少就 load 多少。一般而言,你的应用程序跑一遍下来,真正涉及到的需要处理的数据往往是其中很小一部分。进而,如果你的程序真的要处理“全部”数据,那么,仅有 lazy loading 还是不够的,还要考虑及时释放掉不再使用(或者暂时不再使用)的数据,再需要的时候再重新 load。这样虽然会有效率的损失,但可以保证程序的“可用性”不会因为数据量的增大而明显降低。再进一步,如果你的程序真的要“同时处理全部数据”,hehe,恐怕,只有提高硬件配置了…… 乐观一点讲,这种情况应该不会出现,因为所谓“同时”,总是可以通过程序逻辑把它分开成为“先后”的。只是提供一个思路,仅供参考。其实这种处理方法不止针对“树型结构数据”,各种数据结构,只要涉及“大数据量”的,都有类似的问题。