0

我必须创建一个包含超过 6000 万条记录的大型 XML 文件。我需要一种快速的方法来执行此操作,因为它会定期重复。

我在两个地方有数据

  1. 在数据库中的两个不同表中。
  2. On File System 在两个管道分隔的文件中。

目前,我正在尝试使用 StaX 解析器在 JAVA 中创建 XML 文件。

在这里我需要知道是否应该使用数据库/文本文件来读取数据并创建 XML 文件。

哪一个会是更快的选择?
此外,是否有任何特定的 API 可以以优化的方式处理将此类大数据创建/转换为 XML 的方式?

我也愿意使用 linux 命令进行文件处理,前提是它是一个更快的选项。

更新评论

  • 从两个单独的文件与 DB Query CSV 转储中获取 XML 元素信息的速度有多快?数据库中可用的任何内容都可以在 PIPE 分隔文件中使用。我们如何快速获取/创建 XML 元素信息正是这里问题的意图。这正是影响整体运行速度的因素。

  • 映射复杂性:映射是一对多。第一个文件中的 1 条记录映射到第二个文本文件/表中的大约 8000 条记录。

更新评论 - >使用大输出缓冲区。

明白了。将以较大的块从数据库/文件中读取数据,并在我处理完一个完整的块后将其刷新。但是我应该再次通过 Database read 还是 File read 来做?

更新 我可以使用 MySQL 数据库中的任何工具将其导出,自动转换为 XML 格式吗?

4

1 回答 1

0

您可以使用perlXML::Simple / XML::Writer perl 模块。Perl 还能够从数据库和文本文件中读取数据。

于 2013-03-15T12:03:55.697 回答