MySQL数据库只有一个表products
。表记录包含1个整数自动增量主键,1个整数modified_time
字段和10个varchar字段。
每天两次CRON启动流程,从其他服务器接收带有新/更新/旧产品的700.000 XML记录。通常每天有大约100,000个新产品更新(其他600.000不会改变)。
问题是哪种方式会更快
1)制作类似DROP TABLE
的内容,然后重新创建相同的表格或DELETE * FROM products
。然后INSERT
我们收到的一切(700k记录)。
2)在每个XML记录上启动循环,比较modified_time
字段和UPDATE,如果XML modified_time
比数据库中的modified_time
更新。
据我所知,第二种方式将导致700k SELECT查询,100k UPDATE查询和一些DELETE查询。
那么哪种方式会更快?提前致谢