改进大型层次结构树

时间:2015-07-09 13:46:21

标签: c# performance tree language-agnostic

我一直致力于一个项目,我需要在这个项目中接口并显示一个大型数据库的层次结构(~100,000个文件夹,甚至更多文件),但是需要5分钟才能将数据从数据库加载到项目,我想减少它。

我的实现使用树来表示这些数据(因为它在开始时有意义),使用递归向下导航树以放置新文件夹和项目(现在没有使用,因为我试图添加它们但是花了这么长时间才填充我刚刚删除它们的树。是否有更好的结构来保持这种等级?否则,是否有更好的横向树的方法(因为由于递归和数据库相当深的事实,似乎大部分时间都是花在树上爬下来的?)

我正在使用C#,但我相信一个不可知的答案就足够了。

1 个答案:

答案 0 :(得分:2)

您不需要加载所有内容,因为无论如何都无法在显示器中看到它们,您可以使用:

  1. 延迟加载,仅在用户需要时加载,例如,如果用户双击某个文件夹
  2. 使用虚拟化用户界面或仅显示可见文件夹
  3. 对于用户界面虚拟化示例,您可以阅读观看视频: Code Canvas

相关问题