在数据库中存储XML

时间:2015-04-29 06:47:07

标签: sql-server xml

我们的系统包含各种组件。系统中的数据以XML的形式流动。每个组件处理XML,并向其添加一些内容,并将其传递给下一个组件。

我想存储所有XML版本.XML大小为250-300 KB。对于一个单一的交易,还有相当多的20个版本的XML。此外,交易可以是数百万。

我正在寻找这种XML数据存储的替代方案。如果我将XML存储在数据库中。这会是一种有效的方式吗?

另外,如果我将XML存储在DB中,有没有办法根据XML的内容搜索XML。它的效率如何。

任何想法都会有所帮助。

1 个答案:

答案 0 :(得分:0)

由于您的数据流将以250-300 KB的小块存储,因此将它们保存在DB xml或nvarchar(max)字段中是有意义的,就像marc提到的可以存储最多2GB的数据一样.xml数据类型将验证XML是否格式正确,因此您也具有这种优势。 如果要检索大型xml数据,还可以考虑索引xml列。 此外,您还可以利用XQuery Language来搜索xml内容。 就效率而言,如果您只是存储xml文件,那么将其保存在文件系统文件夹中就可以正常工作,否则将其存储在数据库中。 希望这有帮助