3

只是关于在 SQL Server 数据库中使用 XML 的简短问题......

我有一个新表,它存储了从另一个表中获取的一些数据,并且被告知我必须将这些数据以 XML 格式存储到一个列中,而不仅仅是将值存储在它们自己的列中。

对于我的生活,我可以弄清楚为什么这会更好,并且我已经问过其他几个也看不到好处的人。在任何时候都不会在代码中的任何地方将 XML 用作 XML,只会使用从中分离出来的数据。

想知道是否有人有任何意见,支持或反对,以帮助我更好地理解。

非常感谢你的想法,P

4

4 回答 4

1

使用 XML 数据类型会消耗性能。索引很棘手。与 SQL 更新相比,更新文档的一部分确实很困难。成本不应被低估。

也许“告诉你的人”听说过“NoSql/Xml 数据库更好”。当然,答案是它确实取决于上下文。有人可能会争辩说,与 XML 列一起使用的 SqlServer 不是 NoSql。

也许你应该问这些问题:

  • 你只需要存储层次结构吗?(一个 nvarchar(max) 列就足够了)
  • 您还需要查询层次结构吗?(然后是 XML 或关系,取决于模式复杂性)
  • 用关系模式对层次结构进行建模是否困难?
  • 层次结构会随着时间而改变吗?
于 2012-11-22T17:33:44.453 回答
0

解决方案已重新设计,我们将在列中而不是 XML 中存储值。对合作的要求不明确,对各方过去/将需要什么缺乏完整的认识!

谢谢大家的回复。

于 2012-11-28T12:21:37.670 回答
0

通常,当数据结构为 volatile 时,使用 XML 类型。尽管您可以使用 xml 模式验证 XML 列中的数据,但大部分工作都是在应用程序端完成的。例如,如果您从第三方服务接收数据,则很难保证它始终遵循相同的格式并具有相同的属性。

于 2012-11-22T17:11:18.583 回答
0

如果您不了解委托该项目并为其付款的人给您的要求,我们怎么能?

您没有告诉我们要求的原因可能是因为您不知道。

而且有可能没有。

这个论坛上的任何人都无法知道。

于 2012-11-23T09:25:26.160 回答