如何最高效的对一批数据的中每条数据的某字段长度进行校验

之前的项目碰到一个对导入数据进行校验的需求,大概描述为下:

通过excel导入一批学生数据,需要对其中每个学生的学号进行校验,将学号长度不符合(即万一出现学生学号少/多输了一位,输入不规范学号的情况此处不予考虑)的数据打回。

前提:

  1. 每一条数据都要进行校验
  2. 每批数据的错误率较低
  3. 每批学生的学号拥有一个固定的标准长度(事先并不知道)

有两个方向的想法。

  • 通过求众数

    ①一开始考虑的是遍历数组寻找长度的众数再进行一一比较,于是问题就转化成了如何最快的寻找众数。
    

但是后来跟亲友交流后又觉得在错误率不高且每批数据标准学号长度唯一的情况下没必要通过遍历所有数组寻找众数

    ②就想通过随机取三四条数据再取其众数然后进行比较。
  • 随机比较

后来觉得其实没有求众数的必要

    ③随机取两条数据,再将当前数据与这两条随机数据的学号长度进行比较,一旦出现不相等的情况就打回。

大概想到了以上三种方法,但是第一种当数据量大了后增加时间复杂度,后两种则是在数据量小的时候可能造成误判。

有在考虑是否应该根据数据量来决定调用哪种方法。

想问一下这种需求在降低复杂度且不会出错的前提下应该怎么进行处理最好呢?

1个回答

weixin_42907817
扭秧歌的一只泱 这是前端动态校验吧 我的是后端对excel表格导入数据做校验
5 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问

相似问题

5
传入数据类型是List<String> 数据库的字段类型应该是什么 SQL server
5
SQL中怎么先对一个字段进行分组,在分组的情况下选择条件。
2
数据库中的一个字段数据是另一张表的主键
1
Oracle如何将一个字段的每一条数据添加为一个新字段
1
mysql查询时间(logtime字段)在今天的10条数据,进行排行,再在10条数据的基础上查询某userid的名次
2
请问怎么写查询sql , 能查到前一天插入的最后一批数据
1
Java 日志记录数据库同一字段存多条值
2
关于logstash的filter从每条数据中提取出Json的那一部分字段
1
oracle数据无时间字段如何抽取增量数据?
1
kettle 记录过滤in list 怎么选择另外一个表中的字段
1
【连问30天】CCCCCCCC满足某条件 表A满足条件的数据修改a字段为c,其他数据修改为a字段为b,求sql
2
python如何实现两个文件夹中有相同字段的栅格数据的批量地图代数计算?
2
数据表中,如何在新增的字段里插入数据?
2
如何用kettle实现比较源数据库中的所有表数据和目标数据库中的对应的表数据是否一致
1
如何让grafana像sql一样展示elasticsearch数据源指定的字段数据?
1
Apache druid的数据源设置了3000个字段的demensions,写入数据的进入内存,可以查询出来,但是数据一直不进行落盘,没有进入segment
2
如何将整个word文档存入mysql数据库的指定字段中
1
mysql数据库中一个字段的数据 受另外另外一个表字段的影响 用触发器应该怎么实现呢??
2
postgresql要存帖子回复等类型的数据,适合用什么字段?
2
银行存库系统的金额字段,长度取了几位?即最多可以存多少钱?