Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 早晚更新员工数据库_Java_Database_Set_Intersection - Fatal编程技术网

Java 早晚更新员工数据库

Java 早晚更新员工数据库,java,database,set,intersection,Java,Database,Set,Intersection,这是一个抽象的问题,我: 我有一个系统,每天早上,我都会收到一个文件,上面有我公司当前的员工名单。在一天结束时,我得到另一个文件,其中有更新的员工名单。有些人可能被解雇了,有些人被雇佣了。我需要相应地更新我的数据库 我该怎么做 我的解决方案是:在一天结束时,将第一个文件中的列表存储到两个集中,mSet1和mSet2。将第二个文件中的列表存储在SETESET中。因此,我们必须删除所有员工mSet1-mSet1交叉eSet。我们需要在eSet-mSet1交叉点eSet中添加所有员工。 因此,我会:

这是一个抽象的问题,我:

我有一个系统,每天早上,我都会收到一个文件,上面有我公司当前的员工名单。在一天结束时,我得到另一个文件,其中有更新的员工名单。有些人可能被解雇了,有些人被雇佣了。我需要相应地更新我的数据库

我该怎么做

我的解决方案是:在一天结束时,将第一个文件中的列表存储到两个集中,mSet1和mSet2。将第二个文件中的列表存储在SETESET中。因此,我们必须删除所有员工mSet1-mSet1交叉eSet。我们需要在eSet-mSet1交叉点eSet中添加所有员工。 因此,我会:

是否执行mSet1.removalestet

从数据库中删除mSet1中的所有员工记录

执行eSet.removeAllmSet2

将eSet中的所有记录插入数据库


这是正确的吗?有更好的方法吗?

任务是什么?只是为了保留当前列表,还是需要运行从早上到晚上的变化报告?@PM77-1:在一天结束时,只需使用当前列表更新员工表。一种简单的方法是从表中删除所有记录,然后从文件2中添加所有记录。但这样做效率很低。你们有多少员工?10万以下?除非你有非常慢的硬件,否则删除和导入会很快。而且它将是安全的,因为您不修改提交的数据。您是否需要在其他用户同时访问该表的情况下运行更新?@PM77-1:假设我有100k+并且在非常慢的硬件上运行。不涉及并发访问。我只是想知道除了上面描述的方法或拖放/导入之外,是否还有更快的方法。我的观点是,从生产角度来看,您不需要更快的方法。还是只是为了锻炼你的大脑?