今天使用java 程序 从mssql导一个数据库导mysql,为了保证数据的一致性,
不允许数据的重复添加,
方法有两种:
1、mysql设置一个主键,mysql不允许主键的的值有重复,若是有重复,mysql会抛异常
MySQLIntegrityConstraintViolationException,捕获该异常并做响应的提示,记录该数据即可
2、插入数据库之前检查一下是否已存在该数据,
从mssql导出到mysql之前,先根据主键查询一下是否已存在该数据
此方法会多一次数据的查询,会随着数据库的大小而定;
在我使用的数据量是82000多条;
执行下来,我惊奇的发现,使用第一种方法的效率还低于第二种。
不知道数量达到百万级时第一种会不会高于第二种。可是就目前来说10万条数据,第二种还是优于第一种。