我的问题仍然存在:您期望多少数据?
但除此之外,这不仅仅是您为数据选择的数据库类型,还包括表结构。层次结构树可以根据您的需要以各种不同的方式存储。
特定的结构在遍历读取时可能非常快,但在插入/更新(即嵌套集)时速度很慢,其他结构(邻接列表)则相反。对于 99:1 的读:写比(当今绝大多数应用程序的读取多于写入),我可能会选择具有左、右、深度和父级的修改后的嵌套集结构。这为您提供了阅读场景的最佳可能性。
除非您的目标是大量数据,否则我建议您使用您最了解的任何 SQL 数据库(MSSQL、MySQL、Oracle)。但是,如果您的数据库将包含大量层次结构节点,那么使用专门的面向图形的数据库可能是更好的选择。
如果您选择修改后的嵌套集解决方案(也使用负值,因此插入/更新的更新数量减半),您将拥有具有left. right和列将生成大约 1.2 GB 的表ID。ParentID但这是您至少使用两年后的最高估计。
快速而轻松- 如果事实证明根本不需要,请不要过度设计,使用最好的数据库来存储层次结构。因此,我建议您首先使用关系数据库,这样您就可以快速进入市场,即使解决方案在数百万条记录后将开始陷入困境。但在你的数据库开始陷入困境之前(我们在这里谈论的是几年),你将获得两件事:
| 归档时间: |
|
| 查看次数: |
3959 次 |
| 最近记录: |