java做了个excel导入功能,如何提高导入效率?
比如一张表,作为模板,表格的序号作为主键,不可以重复,加入此表格已经导入过一次,再进行第二次导入的时候,根据需要进行对比,如果数据库已经存在此序号,将更新此序号所在行的内...
比如一张表,作为模板,表格的序号作为主键,不可以重复,加入此表格已经导入过一次,再进行第二次导入的时候,根据需要进行对比,如果数据库已经存在此序号,将更新此序号所在行的内容,不存在则插入数据库.在进行第二次导入的时候会频繁的到数据库去查找更新插入等,所有效率非常低,导入非常慢,有什么方法可以提高效率?
展开
8个回答
展开全部
id是主键根本就不会插入重复记录吧,只是插入时会报异常,循环插入记录,捕获这个异常continue不行么
更多追问追答
追问
主键当然是不能重复,我需要的是当重复的时候就更新数据库的记录.
追答
那就把重复的重新装一个List,插入完了更新这个List,行不
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
insert into XX on duplicate key update
更多追问追答
追问
不明白...
追答
这是mysql里面 重复插入的时候就更新的语法啊 后面加on duplicate key update就和你的要求一样了,(如果主键已经存在,就变为更新的语句)不知道你用的是不是mysql
来自:求助得到的回答
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
请百度jxl jar包的用法
追问
....我不用那个,这个导入是自己编写的,目前公司都是用的这个导入功能.比较通用,如果用jxl的话不好搞
追答
第一,在多数据量的数据库里面比对,肯定会很慢,可以建立索引,或者视图,比对这个,会很快,或者,将序号存入文本,进行比对,减轻数据库对比时间和负担,推荐第一种方式。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询