我收到一批,比如 100 个项目,我需要将它们插入三个相关的 MySQL 表中:比如current、recent和historical。我想在单个插入语句中将每个表中的每个批次作为一个组插入以提高速度。该current表有一个自动增量主键id,我需要为每个插入的行获取它并用作主键以在recent和historical表中插入同一行。我的想法是获取当前的 auto_increment 值current,使用 将其增加 100 alter table current AUTO_INCREMENT=,然后将 100 行插入到current我刚刚“保留”的块中以编程方式设置的 id。然后我可以使用相同的 100 个保留 id 值插入到recent和historical表中,而无需再次从current桌子。
我的问题:有什么理由认为这是一个坏主意吗?我在网上什么也没看到。我在堆栈溢出中看到的最接近的是插入到自动增量字段中,但这并不完全相同。如果我尝试一次从多个线程执行此操作,我可以看到可能的线程问题。
我也愿意接受有关如何完成此任务的其他建议。