我将设置一个cron作业来通过API更新一些数据。我希望它用新的feed更新数据库。
即。我会有一个现有的条目提要,一个脚本将通过新的提要。如果条目已经存在,那么不要更新,如果它不在数据库中,则添加它,并且需要删除所有其他条目。
我想知道这样做的好方法是有一个名为“更新”的列。默认情况下为0。添加新条目或选中现有条目时,列值变为1.一旦cron作业完成更新,它将删除所有仍为0的值,并将余数重置为0.
这是否是完成这项工作的正确方法,如果它有超过1000万行的帮助。
答案 0 :(得分:1)
首先,没有正确或错误的答案,它总是取决于。
现在按照您的方法说,每次执行同步时,您将在主(目标)表中更新所有10米+ 行两次,具体取决于此表的繁忙程度或者可能不被接受。
您可以考虑在ETL中广泛使用的不同方法:
LOAD DATA INFILE
- 在MySQL中摄取数据的最快方法