填报提交去重问题,智能提交的方式不满足业务需求

因为填报提交,数据记录是一条一条入库,业务需求数据庞大,需要做去重处理,采用触发器的方式,因填报是单条入库,导致到数据处理时间过长,不优化。且智能提交去重的方式不满足业务需求。请问,有没有大神知道怎么让数据批量插入数据库表,而不是单条?

或者JS怎么在“EXCEL导入后”事件,从数据表做数据去重处理?

FineReport wulc 发布于 2020-12-10 16:48
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
luojian0323Lv7资深互助
发布于2020-12-10 16:52(编辑于 2020-12-10 17:23)

你设计是单条入库。

却又想批量入库。

智能提交可以根据你设置的主键,保证数据不重复。你又否定了智能提交。


这很矛盾啊。

增加tab1表记录后自动将记录增加到tab2表中:

DROP TRIGGER IF EXISTS t_afterinsert_on_tab1;
CREATE TRIGGER t_afterinsert_on_tab1
AFTER INSERT ON tab1
FOR EACH ROW --遍历插入的行
BEGIN
insert into tab2(tab2_id) values(new.tab1_id);
END;


  • wulc wulc(提问者) 我没有设计单条入库,我要的是批量入库,但是帆软的填报提交,在数据库触发器处理时,很显然,每次是单条入库,并不是多条入库。智能提交真的不能满足业务需求。
    2020-12-10 16:55 
  • luojian0323 luojian0323 回复 wulc(提问者) 我曾经也做过插入数据,触发数据库的触发器。我也没有单条入库,同样是多条入库。 如果多条同时入库影响你的触发器。可能是你触发器设置问题。
    2020-12-10 17:03 
  • wulc wulc(提问者) 回复 luojian0323 你好,因为现在触发器有做流水号的处理,所以才发现填报提交的都是单条单条入库的方式,从流水号变化看出。但如果是我自己手动在数据库直接select 批量数据插入表,流水处理是正确的。请问,怎么设置触发器,让帆软填报提交是批量入库,而不是单条单条地去入库?谢谢
    2020-12-10 17:17 
  • luojian0323 luojian0323 回复 wulc(提问者) 大概的思路就是遍历表中的行,如果是新值,就触发
    2020-12-10 17:23 
  • wulc wulc(提问者) 回复 luojian0323 你好。现在需求是实现了的,就是填报提交单条单条地去判断,也如您所说,若是新值则向表插入该流水,如果不是则去重嘛,但现在的问题是,业务需求数据庞大,很庞大啊,一条一调判断很影响性能,很影响数据上传的速度、效率,现在表数据还不多,但往后数据量很大,那这种单条判断再去重,哇,那会卡死。怎么破?求教啊。。。我写的sql也是对数据进行批处理的,无奈填报提交是单条单条入库,怎么办啊?请求指教啊
    2020-12-10 17:30 
  • 2关注人数
  • 493浏览人数
  • 最后回答于:2020-12-10 17:23
    请选择关闭问题的原因
    确定 取消
    返回顶部