SQL Server 2005中XML DataType的优点

时间:2012-05-14 18:16:48

标签: sql-server xml sql-server-2008 sql-server-2005 xml-serialization

我试图了解在SQL Server 2005中使用 XML DataType的基本优势。我接受了文章 here ,说如果你想要的话删除多条记录。序列化XMl,在数据库中发送它并使用下面的查询你可以删除它..

enter image description here

我很想知道使用这个DataType的任何其他优点......

修改

Reasons for Storing XML Data in SQL Server 2005

以下是在SQL Server 2005中使用本机XML功能而不是在文件系统中管理XML数据的一些原因:

  1. 您希望使用数据库服务器的管理功能来管理XML数据(例如,备份,恢复和复制)。

    我的理解 - 您能否分享一些知识以表明它?

  2. 您希望以高效和交易的方式共享,查询和修改XML数据。细粒度数据访问对您的应用程序很重要。例如,您可能希望插入新的部分而不替换整个文档。

    我的理解 - XML位于特定列行中,为了在此行的单元格中添加新部分,需要更新,因此将更新整个文档。对?

  3. 您希望服务器保证格式良好的数据,并根据XML模式选择性地验证数据。

    我的理解 - 您能否分享一些知识以明确其中?

  4. 您希望索引XML数据以实现高效的查询处理和良好的可伸缩性,并使用一流的查询优化器。

    我的理解 - 可以通过添加单个列来完成相同的操作。那么为什么是XML专栏?

2 个答案:

答案 0 :(得分:1)

优点: 允许存储可由xml架构自动控制的xml数据 - 从而保证一定级别的数据质量 许多Web /桌面应用程序以xml格式存储数据,然后可以在数据库中轻松存储和查询 - 因此它是存储应用程序可能需要使用的xml数据的好地方(例如,用于配置设置)

缺点: 小心使用xml字段,它们可能从无辜的存储开始,但如果你想搜索,分析和报告许多记录,它们可能会成为一场性能噩梦。

此外,如果将添加,更改或删除xml字段,这可能会很慢并导致复杂的t-sql。

在复制中,即使只有一个节点发生更改,整个xml也会更新 - 因此您可能会遇到更多无法轻松解决的冲突。

答案 1 :(得分:0)

我会说你列出的4个优点,这两个是至关重要的:

  

您希望以高效和交易的方式共享,查询和修改XML数据

SQL Server以优化的方式存储XML,而不是普通字符串,并允许您以有效的方式查询XML,而不是要求您将整个XML文档带回客户端。想想如果要查询10,000个XML列,每个列包含1k个数据,效率会有多低。对于小型XPath查询,您需要每次为每个客户端返回10k数据。

  

您希望索引XML数据以实现高效的查询处理和良好的可伸缩性,并使用一流的查询优化器

这与我上面所说的相关,它比纯文本列更有效地存储,而纯文本列也会遇到页面碎片问题。