database - 在数据库中存储一棵树

标签 database algorithm hierarchical-data

我目前正在尝试找出将树存储在数据库中的最佳方法(如果可能的话,可能是 mysql)。 这些是树的约束和使用:

  • 每个节点最多可以有 4 个子节点,但最好是可扩展的并且最多有 x 个子节点
  • 每个 child 都有一个权重(例如,如果 parent 有 3 个叶子,则使用每个 child 的概率可能是 40%、40% 和 20%)。
  • 大约 40K 个节点将存储在数据库中,但最好是可扩展的,例如 1M 就可以
  • 数据库中不会写入任何数据,只是读取
  • 目标是从根到特定叶子的读取性能非常好,而不是一次显示所有树

目前我想使用邻接表模型:https://www.simple-talk.com/content/article.aspx?article=1234重量存储为一个字段。

这对您来说合适吗,或者是否有更好的方法将其存储在数据库中?

最佳答案

您或许应该考虑使用图形数据库,例如 neo4j。

关于database - 在数据库中存储一棵树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35175190/

相关文章:

java - 为什么 BFS 在这种情况下不保证最小成本路径?

java - 选择点使得 x 坐标之和 = y 坐标之和

mysql - SQL - 表示一元(递归)关系

arrays - 数组自下而上获取所有 child 的总和

arrays - 以步长到达数组末尾的最大分数

mysql - 计算按等级分组的左右子节点总数

javascript - Nodejs 是否将单个函数中的单独数据库操作设为原子操作?

database - 有没有办法在Golang中实现cassandra "decimal"数据类型

mysql - 我应该将 "quotation_request"作为数据库中的表存储吗?

MySQL 与 DB2 Express-C