[置顶] 大数据的验证和插入数据库

 

pigg

最近在做项目的时候涉及到数据的校验和插入。问题描述:通过excel导入客户信息表至数据库中指定表。

刚看到该问题,自然而然就是想直接将Excel解析至内存。在内存中遍历对应的客户List集合,取出每一个Customer和数据库中的数据进行比对判断该用户是否存在,存在的话在重复值上计数,不存在的话插入数据库。但是当数据达到10w+的时候,那个速度都不能直视了。思考解决方案,首先采用的解决方案:校验放在外层,里层进行判断分多线程执行。每个线程5k数据。只有5-6 k数据时,还可以。但是当数据量达到10w+时,速度还是很慢。后来测试发现,单单只是用插入其实速度还是可以的,但前面加上验证之后,就严重拖垮了插入速度。但验证还必须使用,苦恼了好一阵。后来通过在网上查找相关资料发现,有一个比较好的解决方案:在数据库的对应校验字段建立唯一索引,在插入的时候让数据库自己进行校验。代码逻辑和数据库分摊压力。在使用save时,由于建立了唯一索引所以插入会出问题,报DataintegrityViolationException的异常。在Try,catch中将其捕捉,进行重复值的累计。这时,之前想要的效果已经实现。

相关阅读

金融行业大数据用户画像实践

进入移动互联网时代之后,金融业务地域限制被打破。金融企业没有固定业务区域,金融服务面对所有用户是平的。金融消费者逐渐年轻化,80

【干货】用大数据文本挖掘,来洞察“共享单车”的行业现

对于当下共享单车在互联网界的火热状况,笔者想从大数据文本挖掘的角度来做一番分析,主要是从海量的文本数据中找到有价值的讯息和观

建立一个数据库

建立一个数据库MySQL的基础命令:打开MySQL:net start mysql      关闭MySQL:net stop mysql登陆MySQL:mysql -u root -p   然后

数据库设计规范-通用版

一、命名规范 1、总命名规范 1、不得使用数据库保留关键字,以及php/java等常用语言的保留关键字,或者可能成为关键字的单词作为完

网上的微信密码破解可信吗?怎么验证登录别人的微信账号

【黑客V信:51140】专业破解微信密码,开房查询,通话记录查询,查询微信聊天记录,非常靠谱!业务详细的加他咨询,我上个月就是找他们

发表评论