【发布时间】:2013-04-17 03:08:48
【问题描述】:
我对系统性能有疑问。在 DB 表中,每条记录都会有一个很大的 XML 数据。我担心的是,如果我每次都应该从数据库中解析 XML 数据以获取 XML 中的属性和信息。另一种选择可能是解析 XML 一次并捕获它们。 XML 大小平均为 100KB,将有 10^10 条记录。如何解决这个空间与计算性能问题?我的猜测是捕捉结果(XML 中的重要属性)。因为每次查询解析 10^10 条记录并不是一件容易的事。加上解析后的属性可以作为索引。
【问题讨论】:
-
能否在更新时解析并保存为普通数据,方便查询?
-
哪个数据库?如果使用 SQL Server,则使用类型为
xml的列。这将在第一次输入数据时对其进行解析,之后它将采用“二进制 XML”格式——既快速又紧凑。 -
是的。我认为这是一个好方法。 XML 中可能有 100 个属性,重要的是 20 个。我想在表格列中添加这 20 个属性。当记录中的 XML 列发生变化时,解析 XML 并更新 20 列。这个设计怎么样?
-
我想我会使用 Informix 数据库。
-
为什么不用您的数据在您的系统上进行衡量,而不是让我们猜测每个选项的性能?
标签: sql database performance