改进大层次结构树

Improving a big hierarchy tree

我一直在做一个项目,我需要从一个大数据库(约 100.000 个文件夹,甚至更多文件)连接和显示层次结构,但是从数据库加载数据需要 5 分钟到项目中,我想减少它。

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

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

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

  1. 延迟加载,仅在用户需要时加载,例如,如果用户双击某个文件夹
  2. 使用虚拟化用户界面或仅显示可见文件夹

对于用户界面虚拟化示例,您可以阅读并观看视频: Code Canvas