我必须创建一个包含超过 6000 万条记录的大型 XML 文件。我需要一种快速的方法来执行此操作,因为它会定期重复。
我在两个地方有数据
- 在数据库中的两个不同表中。
- On File System 在两个管道分隔的文件中。
目前,我正在尝试使用 StaX 解析器在 JAVA 中创建 XML 文件。
在这里我需要知道是否应该使用数据库/文本文件来读取数据并创建 XML 文件。
哪一个会是更快的选择?
此外,是否有任何特定的 API 可以以优化的方式处理将此类大数据创建/转换为 XML 的方式?
我也愿意使用 linux 命令进行文件处理,前提是它是一个更快的选项。
更新评论
从两个单独的文件与 DB Query CSV 转储中获取 XML 元素信息的速度有多快?数据库中可用的任何内容都可以在 PIPE 分隔文件中使用。我们如何快速获取/创建 XML 元素信息正是这里问题的意图。这正是影响整体运行速度的因素。
映射复杂性:映射是一对多。第一个文件中的 1 条记录映射到第二个文本文件/表中的大约 8000 条记录。
更新评论 - >使用大输出缓冲区。
明白了。将以较大的块从数据库/文件中读取数据,并在我处理完一个完整的块后将其刷新。但是我应该再次通过 Database read 还是 File read 来做?
更新 我可以使用 MySQL 数据库中的任何工具将其导出,自动转换为 XML 格式吗?