每隔10分钟从CSV文件更新MySQL

时间:2013-05-12 06:45:55

标签: php mysql csv cron

我对MySQL比较陌生,我正在寻找一种每10分钟运行一次MySQL更新的方法。基本上有一个中央CSV文件,在我们从中获取数据的服务器上每十分钟更新一次。我正在尝试设置一个MySQL表,它将读取该CSV文件并每十分钟将其加载到MySQL表中。

我知道您可以使用“加载数据”直接将MySQL表链接到CSV文件。我的困惑在于实际的自动更新。我已经做了一些研究并阅读了关于'cron'的工作,这些工作将按照设定的时间间隔执行自动化任务。我的想法是每隔十分钟由cron作业运行PHP脚本(如果主机允许的话)。

我只是想知道这是否是最佳做法。我一直在寻找并且没有看到很多其他选项,并且想知道你是否都知道我可能缺少的任何其他方法,所以我可以对这项工作进行适当的评估。谢谢你的帮助!

1 个答案:

答案 0 :(得分:2)

cron将成为可行的方式。根据加载的文件大小,它可能是一项昂贵的任务(就时间而言)。我建议让cron将文件上传到临时表,然后在事务中删除旧表,然后将临时表重命名为正确的表名。如果文件相对较小,那么在文件中遍历每一行并确定是否基于查询数据库需要添加或更新记录可能是有意义的。