数据库设计问题,使用多个表或XML

Ema*_*mad 1 xml sql database database-design

在数据模型中对以下3种关系进行成像

实体>路径>链接

两种关系都是1对多.因此,实体具有多个路径,并且路径具有多个链接.

我应该这样做3个表与表之间的关系

或者创建一个将路径信息存储为XML的表.

该表(我们称之为Paths)将存储1个路径/行.所以我们最终得到2个表而不是3个:实体>路径

XML看起来像这样:

<path>
   <link entitySource=1 entityTarget=2>
   <link entitySource=2 entityTarget=6>
   <link entitySource=6 entityTarget=9>
</path>
Run Code Online (Sandbox Code Playgroud)

每个设计有什么好处?我想使用3桌设计,需要一个很好的解释来说服CTO为什么我应该这样做.他确信XML路由是一种更好的设计,因为它会减少数据库连接,从而提高读取性能.

读取性能很重要,因为该表将用于存储数百万条记录,并且需要快速搜索.

gbn*_*gbn 5

一些想法:

  • 解析XML将非常昂贵
  • 假设有1亿个"行",那就是一个6GB的unicode xml字符串
  • 数据库旨在加入
  • 索引?
  • 这不是一个可以通过CTE遍历的自引用表(SQL Server)
  • 最后,为什么CTO在这个级别工作?