改进大层次结构树
Improving a big hierarchy tree
我一直在做一个项目,我需要从一个大数据库(约 100.000 个文件夹,甚至更多文件)连接和显示层次结构,但是从数据库加载数据需要 5 分钟到项目中,我想减少它。
我的实现使用树来表示此数据(因为它在开始时有意义),使用递归在树中向下导航以放置新文件夹和项目(现在没有被使用,因为我试图添加它们但是填充树花了很长时间我刚刚删除了它们)。是否有更好的结构来保持这种层次结构?否则,有没有更好的方法来横穿树(因为由于递归和数据库相当深的事实,似乎大部分时间都花在爬上树上)?
我正在使用 C#,但我相信不可知论者的答案就足够了。
您不需要加载所有内容,因为无论如何您都无法在显示器中看到它们,您可以使用:
- 延迟加载,仅在用户需要时加载,例如,如果用户双击某个文件夹
- 使用虚拟化用户界面或仅显示可见文件夹
对于用户界面虚拟化示例,您可以阅读并观看视频:
Code Canvas
我一直在做一个项目,我需要从一个大数据库(约 100.000 个文件夹,甚至更多文件)连接和显示层次结构,但是从数据库加载数据需要 5 分钟到项目中,我想减少它。
我的实现使用树来表示此数据(因为它在开始时有意义),使用递归在树中向下导航以放置新文件夹和项目(现在没有被使用,因为我试图添加它们但是填充树花了很长时间我刚刚删除了它们)。是否有更好的结构来保持这种层次结构?否则,有没有更好的方法来横穿树(因为由于递归和数据库相当深的事实,似乎大部分时间都花在爬上树上)?
我正在使用 C#,但我相信不可知论者的答案就足够了。
您不需要加载所有内容,因为无论如何您都无法在显示器中看到它们,您可以使用:
- 延迟加载,仅在用户需要时加载,例如,如果用户双击某个文件夹
- 使用虚拟化用户界面或仅显示可见文件夹
对于用户界面虚拟化示例,您可以阅读并观看视频: Code Canvas