gpt4 book ai didi

sql-server - 微软 SQL Server 2005/2008 : XML vs text/varchar data type

转载 作者:数据小太阳 更新时间:2023-10-29 01:42:08 26 4
gpt4 key购买 nike

将 XML 存储为 XML 类型而不是 text/varchar/ntext 是否更有意义(服务器端验证 XML/schema/dtd 除外)?我不打算在数据库端进行任何 XML 操作。

我调查的目的是减小数据库大小。我可以使用 XML data type 吗?用于此目的的非类型化 XML?有什么优点和缺点?

我找到了一个 article related to the topic , 但我不确定作者的假设/结论是否正确。

最佳答案

如果将 xml 存储在 xml 类型的列中,数据将不会存储为简单文本,就像在 nvarchar 的情况下一样,它将存储在某种已解析的数据树中,这反过来会小于未解析的数据树版本。这不仅减小了数据库的大小,而且还为您提供了其他优势,例如验证、易于操作等(即使您没有使用其中的任何一个,它们仍然可供将来使用)。

另一方面,服务器必须在插入时解析数据,这可能会减慢您的数据库速度 - 您必须在速度与大小之间做出决定。

编辑:

我个人认为,只有当数据库中的数据具有难以在关系模型中实现的结构时,才应将其存储为 xml,例如布局,样式描述等。通常这意味着不会有太多数据并且速度不是问题,因此添加了 xml 功能,如数据验证和操作能力(还有,最后但并非最不重要的,点击值的能力在 managment studio 中查看格式化的 xml - 我真的很喜欢这个功能!),超过了成本。

我没有在数据库中存储大量 xml 的直接经验,如果我可以选择,我不会这样做,因为它几乎总是比关系模型慢,但如果是这样的话,我建议分析这两个选项,并在最适合您需求的大小和速度之间进行选择。

关于sql-server - 微软 SQL Server 2005/2008 : XML vs text/varchar data type,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/514827/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com