使用 Javascript 解决导入 Excel 数据重复字段的问题。大约 40W 行数据 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
cgh
V2EX    问与答

使用 Javascript 解决导入 Excel 数据重复字段的问题。大约 40W 行数据

  •  
  •   cgh 2020 年 4 月 25 日 1925 次点击
    这是一个创建于 2162 天前的主题,其中的信息可能已经有所发展或是发生改变。
    导入的数据大概有 40W 行。每行有八个字段 [ A,B,C,D,E,F,G,H ] 。根据字段 A,B 去重。如果 A 字段或者 B 字段在之前的行已经存在了。则当前行被标记为失败。并且记录与第几行重复了。怎么提升计算速度。。。求大佬解决。
    11 条回复    2020-04-26 08:52:15 +08:00
    cydian
        1
    cydian  
       2020 年 4 月 25 日
    40W 行在前端怎么处理都很慢吧。
    量太大了给后端处理。
    opengps
        2
    opengps  
       2020 年 4 月 25 日
    作为平面文件,直接导入数据库,然后从数据库再执行算法去重
    cgh
        3
    cgh  
    OP
       2020 年 4 月 25 日
    @cydian 目前的情况是前端已经对数据进行了格式验证。40W 数据大概 18 秒,如果加上对字段的重复判断的话一分钟以内其实都是可以接受的。但是我感觉不只是时间翻倍的问题了,,,
    cgh
        4
    cgh  
    OP
       2020 年 4 月 25 日
    @opengps 我们需要在页面进行编辑修改。然后在传给后端。。。。导入数据库再显示。时间太久了。
    hronro
        5
    hronro  
       2020 年 4 月 25 日 via iPhone
    上 web worker 开多线程,上 WASM
    cydian
        6
    cydian  
       2020 年 4 月 25 日
    @cgh 你一旦遇到用户浏览器的性能问题,就凉凉了。
    noe132
        7
    noe132  
       2020 年 4 月 25 日
    最快的方式就是针对 A,B 建两个 map
    然后一遍遍历过去即可
    mooyo
        8
    mooyo  
       2020 年 4 月 25 日
    这一个 On 能搞定吧,如果内存够的话不应该很慢阿。
    mooyo
        9
    mooyo  
       2020 年 4 月 25 日
    只需要读一遍应该就能搞定吧
    cocolate
        10
    cocolate  
       2020 年 4 月 26 日 via Android
    大量数据少量计算就不用上 wasm 了,开个 webworker 防止浏览器卡死应该就行,基础算法就是维护 map,硬核一点就上异或判断,内存占用 O1,但是不知道行数信息。
    cgh
        11
    cgh  
    OP
       2020 年 4 月 26 日
    @cocolate 你说的这个我有考虑过。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2850 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 12:02 PVG 20:02 LAX 05:02 JFK 08:02
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86