【问题标题】:Efficient way to update/populate a mysql database with external XML使用外部 XML 更新/填充 mysql 数据库的有效方法
【发布时间】:2026-02-17 03:55:01
【问题描述】:

我正在开发一个使用游戏 API 的小应用程序,不幸的是,该 API 并不是世界上最快的。它也只输出大型 XML 文件。

我想获取其中一个文件并将其直接放入数据库中,这样每次用户需要更新某些内容时就不会从他们的服务器查询它。相反,它查询我的本地数据库。我每隔几个小时就会通过一个 cron 作业来抓取它,因此它不应该影响性能。

我的问题是:我从他们的服务器获取 XML 文件并使用他们的更新版本更新我的数据库的最有效方法是什么? [作为说明,我只使用 PHP 并希望保持这种方式。

感谢您的帮助!

【问题讨论】:

    标签: php mysql xml


    【解决方案1】:

    我会使用 simpleXML 之类的东西从他们的服务器解析 XML 文件。

    我猜 XML 文件的元素与其他值基本相同?在这种情况下,您需要创建一个PreparedStatement 并为每个条目绑定新参数。这是执行此操作的最高效方式。

    但如果您主要关心性能,那么 PHP 不是最佳选择。您可以使用 Java(例如)来解析 XML 文件并将条目写入数据库中。使用哪种语言访问填充的数据库无关紧要。

    【讨论】:

    • 创建一个java程序来定期解析xml不会比只使用php快多少...尤其是当他可能不得不学习java时...不值得麻烦...
    • 如果他需要学习另一种语言,那真的不值得。假设他已经熟悉Java/C,它认为用这些来解析XML文件会快一些。
    • 感谢您的回答,我现在使用的是简单的 xml,但认为有更好的方法来处理这个问题。它可能有点慢。我将把这个问题留待一段时间,看看是否会弹出另一个答案。
    • 不,simpleXML 不是最快的(但最简单的)。我发现 thath 有趣的文章也涵盖了这一点。
    • 啊,谢谢你的链接,我会看看更多关于 XMLReader 的知识。