每10分钟从CSV文件更新一次MySQL


Update MySQL from CSV file Every 10 Minutes

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

我知道你可以直接使用'load data '将MySQL表链接到CSV文件。我的困惑来自于实际的自动更新。我做了一些研究,并阅读了一些关于"cron"作业的内容,这些作业将在设定的时间间隔内执行自动任务。我的想法是让PHP脚本每十分钟运行一次cron作业(如果主机允许的话)。

我只是想知道这是否是最佳实践。我一直在四处寻找,没有看到很多其他的选择,我想看看你们是否都知道我可能遗漏的其他方法,这样我就可以对这份工作做出适当的评估。谢谢你的帮助!

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