我有一个大型XML文件(600mb +),我正在开发一个需要查询该文件的PHP应用程序。
我最初的方法是从文件中提取所有数据并将其插入MySQL数据库 - 然后以这种方式查询。唯一的问题是它仍然很慢,而且XML数据定期更新 - 这意味着每次更新XML文件时我都需要下载,解析并将XML文件中的数据插入到数据库中。
实际上是否可以查询600mb文件? (例如,搜索TITLE =“here here”的记录?)是否有可能在合理的时间内完成此操作?
理想情况下,我想在PHP中执行此操作,但我也可以使用JavaScript。
任何帮助和建议表示赞赏:)
答案 0 :(得分:1)
为600多Mb文档构建XML DOM绝对是一种失败的方法。您需要的是基于SAX的API。但是,SAX通常不允许使用XPath,但您可以使用命令式代码来模拟它。
对于正在更新的文件,是否可以无论如何只检索差异?这将大大加快后续处理速度。