在SQL Server中存储带有标准结构的XML是不是使用了XML数据类型?

时间:2013-07-31 15:46:44

标签: sql-server xml database

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

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

2 个答案:

答案 0 :(得分:2)

我认为最终这是一个偏好问题,但是我希望在XML字段中存储数据的原因有以下几个原因:

  1. 在TSQL中针对XML编写查询的速度很慢。对于少量数据可能不会太糟糕,但你肯定会注意到它有相当数量的数据。

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

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

  4. 但尽管有这三点......它可以工作,TSQL肯定支持对它的查询。

答案 1 :(得分:0)

你是否在阅读这个领域而不是写作?

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