Microsoft SQL Server 2005/2008:XML 与 text/varchar 数据类型

Microsoft SQL Server 2005/2008: XML vs text/varchar data type(Microsoft SQL Server 2005/2008:XML 与 text/varchar 数据类型)
本文介绍了Microsoft SQL Server 2005/2008:XML 与 text/varchar 数据类型的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

Does it make more sense (except of server side validation XML/schema/dtd) to store XML in XML type instead of text/varchar/ntext? I'm not planning to do any XML manipulation on database side.

我调查的目的是减少数据库大小.为此,我可以将 XML 数据类型用于无类型 XML 吗?有什么优点和缺点?

The purpose of my investigation is to decrease database size. Can I use XML data type for untyped XML for this purpose? What are the pros and cons?

我找到了一篇与该主题相关的文章,但我不确定作者的假设/结论是否正确.

I found an article related to the topic, but I am not sure if the authors assumptions/conclusions are correct.

推荐答案

我的快速调查显示 MS SQL 2005 (Express Edition)

My quick investigation shows that MS SQL 2005 (Express Edition)

Microsoft SQL Server 2005 - 9.00.3073.00(英特尔 X86)2008 年 8 月 5 日 12:31:12版权所有 (c) 1988-2005 Microsoft CorporationWindows NT 6.0 (Build 6000:) 上的 Express Edition

Microsoft SQL Server 2005 - 9.00.3073.00 (Intel X86) Aug 5 2008 12:31:12 Copyright (c) 1988-2005 Microsoft Corporation Express Edition on Windows NT 6.0 (Build 6000: )

以大约 70% 的开销存储 XML(可以加快处理/解析速度).

store XML with overhead about 70% (possible for faster processing/parsing).

转换前我的数据:rows=160320,reserved=178576 KB,data=178184 KB,index_size=272 KB,unused=120 KB

My data before conversion: rows=160320, reserved=178576 KB, data=178184 KB, index_size=272 KB, unused=120 KB

我转换后的数据:rows=160320,reserved=309702 KB,data=307216 KB,index_size=1672 KB,unused=184 KB

My data after the conversion: rows=160320, reserved=309702 KB, data=307216 KB, index_size=1672 KB, unused=184 KB

因此,如果您不打算在数据库端使用 XML 技术,那么将 XML 数据存储为 XML 数据类型是没有任何意义的.

这篇关于Microsoft SQL Server 2005/2008:XML 与 text/varchar 数据类型的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Execute complex raw SQL query in EF6(在EF6中执行复杂的原始SQL查询)
SSIS: Model design issue causing duplications - can two fact tables be connected?(SSIS:模型设计问题导致重复-两个事实表可以连接吗?)
SQL/MySQL: split a quantity value into multiple rows by date(SQL/MySQL:按日期将数量值拆分为多行)
SQL Server Graph Database - shortest path using multiple edge types(SQL Server图形数据库-使用多种边类型的最短路径)
Invalid column name when using EF Core filtered includes(使用EF核心过滤包括时无效的列名)
How should make faster SQL Server filtering procedure with many parameters(如何让多参数的SQL Server过滤程序更快)