1

我们的数据库中有一个表,它在其中一列中存储 XML。XML 在通过 Web 服务响应接收的一组 3 种不同 XML 格式中始终采用完全相同的格式。我们需要非常频繁地在此表(以及 XML 字段内部)中查找信息。这是对 XML 数据类型的不当使用吗?

我的建议是为每个不同的 XML 结构创建单独的表,因为我们只谈论 3 个,增长率可能为每年一个新表。

4

2 回答 2

2

我想最终这是一个偏好问题,但这里有一些我喜欢在 XML 字段中存储这样的数据的原因:

  1. 在 TSQL 中针对 XML 编写查询很慢。对于少量数据可能还不错,但是您肯定会在大量数据时注意到它。

  2. 有时,处理 XML blob 需要特殊的逻辑。如果您将 XML 直接存储在 SQL 中,那么您会发现自己完全重复了该逻辑。我以前在一份工作中看到过这种情况,将 XML 写入字段的人早已不在,每个人都想知道如何准确地使用它。有时元素存在,有时不存在,等等。

  3. 与(2)类似,我认为它破坏了数据库的纯度。就像很多人建议不要在字段中存储 HTML 一样,我建议不要存储原始 XML。

但是尽管有这三点……它可以工作,而且 TSQL 绝对支持针对它的查询。

于 2013-07-31T16:09:57.457 回答
0

你阅读的领域多于写作的领域吗?

您希望在您最不常做的任何步骤或不涉及用户的步骤上进行转换。

于 2013-07-31T16:18:41.353 回答