gpt4 book ai didi

xml - 在 Linux 上,将 XML 解析为 MYSQL 的最有效方法是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:28:23 25 4
gpt4 key购买 nike

我想将 XML 文件解析为 MYSQL 数据库。

在 LINUX 系统 (Ubuntu) 上执行此操作最有效、最快速且资源占用最少的方法是什么。

我需要每 15 分钟解析一次大约 1GB 的 XML 文件。每个 XML 大约 60KB。

我正在考虑使用 Shell 或 Perl,然后自己构建解析器或获取某种 XML 工具。

我愿意接受任何建议。

最佳答案

到目前为止,我见过的最快的 XML(非验证)解析器是 VTD-XML .它可用于任何性能至上的地方。给出一些数字,在 Core2 2.5 Ghz 上,VTD-XML 的性能比 DOM 解析器高出 5 到 12 倍,每个内核提供 150 到 250 MB/秒的持续吞吐量。

按照这个速度,10 秒内可以解析 1 GB 的 XML。如果解析成功,您可以随机遍历内存中的数据结构,或使用 XPath 获取数据。

鉴于您的要求(1 GB XML 输入),您必须考虑到 VTD-XML 将占用 1.3~1.5 GB 的系统 RAM,因为它必须构建一个内存数据结构来访问已解析的数据,另外XML 文本本身。

VTD-XML 库可用于 C#、Java、C++、C,需要一些时间来适应,因为它有一定的学习曲线,但从长远来看,它可能会开始产生返回。

如果可用内存不够,流解析器 ( SAX ) 应该是更适合这项工作的工具。

关于xml - 在 Linux 上,将 XML 解析为 MYSQL 的最有效方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7721304/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com