动态生成数据库表

时间:2019-05-03 19:10:34

标签: mysql sql-server database dynamic

我需要设计一个数据库,该数据库将容纳大量数据。我必须使用RDBMS数据库(SQL Sever或MySQL尚未决定)。以下是我可以想到的简化的标准数据库设计:

enter image description here

但是,由于需要保留节点和关系表的大量数据(数以十亿计的记录并保持增长),我计划为每棵树动态生成节点和关系表。动态设计如下:

enter image description here

因此,每次克隆新的树或版本时,都会基于版本ID和树ID创建新的数据库表。动态生成的表的名称将存储在tree.node_table_nametree.relationship_table_name

示例:

如果您为版本(id = 4)创建新树(id = 10),则表名将为4_10_node和4_10_relationship,并且这些名称将保存到tree.node_table_name和{{1 }}。

问题:

  1. 动态创建表格是个好主意吗?
  2. 我认为可行吗?
  3. 还有其他方法可以实现我想要做的事情吗? (我知道分区,但是这必须手动完成,我想自动完成)

更新:

每个版本可以有超过5亿个节点,而我有很多这样的版本,这将使整个节点表行数达到数十亿。因此,提出了动态创建单独表的想法。

0 个答案:

没有答案