SQL 2008 XML 存储

3
我们将客户的数据导入我们的中央服务器以进行报告目的。我们在客户机上使用一个 .net 2 windows 服务,将从应用程序提取的数据作为 XML 发送到 WCF 服务。我们无法在客户端的 windows 服务中使用高于 .Net 2 的版本。 我们将 XML 存储在 SQL server 表中的 XML 列中。然后我们清理数据并将其插入所需的表中。
然而 XML 使用了相当大的数据源列名,这使得 XML 变得相当笨重。目前,我们使用列名称作为节点名称,将列数据作为节点值。这导致列名被用作开放和关闭标记。 我们考虑使用 XML 的属性,但我们担心我们收到的数据中会使用“引号”。但再次,列名相当大,这仍然会产生相当大的开销。因此,一个想法是使用列名的别名,并使用 XML 的属性。这应该显著减少开销。
我想知道其他人如何解决这些问题?还有关于这种事情的任何建议或最佳实践吗?
1个回答

0

我不会破坏XML。

SQL已经对XML数据类型进行了一些(轻微的)压缩

但是,如果您绝对需要最小化数据(而不必担心在未解压缩之前无法解密它),那么可以考虑使用Zip或Lzh类型算法进行压缩,然后将其存储在varbinary中 - 这可能有所帮助


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接