我在 mySQL 数据库中有 2 个表:
人数:
id name address .....
和项目:
id person_id param1 param2 ....
项目由 person_id 引用到 Persons。约有5000人、40000种元素,并且还在不断增加。此数据需要每隔几天从大型 XML 文件更新一次,如下所示:
.....
<person id='100016' lastname='....' firstname='.....' .... >
<item param1='...' startdate='2006-01-07' enddate='2006-12-09' ... />
<item param1='...' startdate='2007-01-04' enddate='2007-12-08' ... />
<item param1='...' startdate='2008-01-04' enddate='2009-01-03' ... />
<item param1='...' startdate='2009-01-06' enddate='2009-12-31' ... />
</person>
......
人物和元素的某些属性可以改变,可以添加新人物和新元素。
保持轻松更新的最佳方法是什么?我不认为截断表并再次加载它们是最有效的方法。我是否应该考虑进行一些暂存 - XML 文件的大小开始达到 60MB 并且不断增长 -> 将其解析为 SimpleXML 并与 SQL 进行比较是无效的...
在这种情况下最佳做法是什么?
我有 mySQL 和 PHP 以及 Zend Framework 作为我的环境
最佳答案
您可以使用diffxml分析旧的和新的 XML 文件,然后解析 XML 中的更改以将它们反射(reflect)到 MySQL 中。
但我认为截断并加载完整文件也可以在合理的时间内完成。有时这样一个简单的解决方案是最好的 - 即使它不是 super 快。
关于php - 从 XML 文件更新 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5371440/