Java 将用户ID与数据库中的少数表进行比较,如果员工在5年前被解雇,则删除所有记录

Java 将用户ID与数据库中的少数表进行比较,如果员工在5年前被解雇,则删除所有记录,java,mysql,sql,database,multithreading,Java,Mysql,Sql,Database,Multithreading,我已经编写了一个SQL存储过程来删除一个员工记录,而对于50万条记录,它将永远运行 我在一个平面文件(.xls)中有一百万条记录,其中包含特定连锁超市的用户id及其终止日期 现在,我必须将此用户ID与数据库中的一些表进行比较,这些表不跟踪终止日期,如果员工在5年前被终止,则删除所有记录 (这些用户总共有50万条记录)。快速解决此问题的最佳方法是什么,而不需要数据库脚本运行很长时间?将文件转换为CSV并将其导入内存中的临时表,主键作为用户id。使用对此临时表的引用执行删除操作。主键将在字段上创建一

我已经编写了一个SQL存储过程来删除一个员工记录,而对于50万条记录,它将永远运行

我在一个平面文件(
.xls
)中有一百万条记录,其中包含特定连锁超市的用户id及其终止日期

现在,我必须将此
用户ID
与数据库中的一些表进行比较,这些表不跟踪终止日期,如果员工在5年前被终止,则删除所有记录


(这些用户总共有50万条记录)。快速解决此问题的最佳方法是什么,而不需要数据库脚本运行很长时间?

将文件转换为CSV并将其导入内存中的临时表,主键作为用户id。使用对此临时表的引用执行删除操作。主键将在字段上创建一个索引,这将加快操作。

请提供有关数据库的更多详细信息,例如必须删除4个表中包含数据etcReference数据的表的数量,以及数据库的大小约为12 GB。将Excel数据加载到数据库中,并用SQL完成所有工作。