创作

完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>

3天内不再提示

MySQL 批量插入不重复数据的解决方法

AndroidPush ? 来源:JAVA葵花宝典 ? 作者:JAVA葵花宝典 ? 2021-07-02 15:28 ? 次阅读

来源丨JAVA葵花宝典

知识这个东西,看来真的要温故而知新,一直不用,都要忘记了

业务很简单:需要批量插入一些数据,数据来源可能是其他数据库的表,也可能是一个外部excel的导入

那么问题来了,是不是每次插入之前都要查一遍,看看重不重复,在代码里筛选一下数据,重复的就过滤掉呢?

大数据数据库中插入值时,还要判断插入是否重复,然后插入。如何提高效率

看来这个问题不止我一个人苦恼过。

解决的办法有很多种,不同的场景解决方案也不一样,数据量很小的情况下,怎么搞都行,但是数据量很大的时候,这就不是一个简单的问题了。

几百万的数据,不可能查出来,做去重处理

说一下我Google到的解决方案

1、insert ignore into

当插入数据时,如出现错误时,如重复数据,将不返回错误,只以警告形式返回。所以使用ignore请确保语句本身没有问题,否则也会被忽略掉。例如:

INSERT IGNORE INTO user (name) VALUES (‘telami’)

这种方法很简便,但是有一种可能,就是插入不是因为重复数据报错,而是因为其他原因报错的,也同样被忽略了~

2、on duplicate key update

当primary或者unique重复时,则执行update语句,如update后为无用语句,如id=id,则同1功能相同,但错误不会被忽略掉。

例如,为了实现name重复的数据插入不报错,可使用一下语句:

INSERT INTO user (name) VALUES (‘telami’) ON duplicate KEY UPDATE id = id

这种方法有个前提条件,就是,需要插入的约束,需要是主键或者唯一约束(在你的业务中那个要作为唯一的判断就将那个字段设置为唯一约束也就是unique key)。

3、insert … select … where not exist

根据select的条件判断是否插入,可以不光通过primary 和unique来判断,也可通过其它条件。例如:

INSERT INTO user (name) SELECT ‘telami’ FROM dual WHERE NOT EXISTS (SELECT id FROM user WHERE id = 1)

这种方法其实就是使用了mysql的一个临时表的方式,但是里面使用到了子查询,效率也会有一点点影响,如果能使用上面的就不使用这个。

4、replace into

如果存在primary or unique相同的记录,则先删除掉。再插入新记录。

REPLACE INTO user SELECT 1, ‘telami’ FROM books

这种方法就是不管原来有没有相同的记录,都会先删除掉然后再插入。

实践

选择的是第二种方式

pYYBAGDewGiAD4ryAAAloA9QPzg560.png

这里用的是Mybatis,批量插入的一个操作,mobile_number 已经加了唯一约束。这样在批量插入时,如果存在手机号相同的话,是不会再插入了的。

责任编辑:gt

原文标题:MySQL 批量插入:如何不插入重复数据?

文章出处:【微信号:AndroidPush,微信公众号:Android编程精选】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    中科曙光以大数据为核心驱动智慧农业数字化升级

      随着“云、大、物、智”等新一代信息技术与农业生产经营深度融合,智慧农业的应用场景不断创新,为农业....
    的头像 中科曙光 发表于 05-19 20:31 ? 257次 阅读

    荣联助力中科院上海有机所冷冻电镜大数据计算系统建设

    中国科学院上海有机化学研究所(简称上海有机所)是集基础研究、应用研究和高技术创新研究为一体的综合性化....
    的头像 电子行业新闻 发表于 05-19 17:12 ? 118次 阅读
    荣联助力中科院上海有机所冷冻电镜大数据计算系统建设

    中移物联网携手陕西移动打造智能支付解决方案

    目前,传统金融机构与新兴金融机构都在积极拥抱人工智能、大数据、区块链、物联网、云计算等新兴科技,以期....
    的头像 话说科技 发表于 05-19 16:19 ? 222次 阅读

    table2sql把表格转成insert语句的Chrome扩展

    ./oschina_soft/table2sql.zip
    发表于 05-19 15:53 ? 6次 阅读
    table2sql把表格转成insert语句的Chrome扩展

    Stetho Realm用于Stetho的Realm模块

    ./oschina_soft/stetho-realm.zip
    发表于 05-19 15:45 ? 1次 阅读
    Stetho Realm用于Stetho的Realm模块

    浪潮分布式存储AS13000搭建血液病检测平台

    因分析、基因诊断、白血病分型、指导治疗、判断预后等领域已经有了成熟应用,而其中血液学已成为了此类现代....
    的头像 科技绿洲 发表于 05-19 15:17 ? 238次 阅读

    云天励飞成为数据发展联盟首批成员单位之一

    近日,广东数据发展联盟(下称“联盟”)成立大会在广州举行。大会审议并表决了联盟章程和选举办法,选举了....
    的头像 科技绿洲 发表于 05-19 14:20 ? 174次 阅读

    汉威城市生命线感知与安全运营平台构筑安全城市地下“生命线”

    汉威“城市生命线感知与运营平台”根据政府监管要求,综合运用云计算、大数据、网络通讯、物联感知等先进技....
    的头像 科技绿洲 发表于 05-18 17:04 ? 389次 阅读

    曙光“四位一体”建设模式保障智算中心建成后应用创新

    近日,湖北首个5A级智算中心在随州高新区正式开建。该项目自今年3月正式签约以来,相关工作就紧锣密鼓地....
    的头像 科技绿洲 发表于 05-18 16:37 ? 213次 阅读

    IBM推出纯软Datapower解决方案 客户能更好更快拓展API网关集群

     IBM曾有一个品牌理念,“智者乐见难题”。很多科技在数字化转型中的应用正是难题中来的,创造出真正的....
    的头像 科技绿洲 发表于 05-18 14:37 ? 175次 阅读

    云计算、大数据及人工智能企业海航科技发布2022第一季度报告

    云计算、大数据及人工智能企业海航科技股份有限公司发布2022第一季度报告,具体内容如下。 一、 主要....
    的头像 汽车玩家 发表于 05-18 11:53 ? 297次 阅读

    数据存储也需要全生命周期管理 热温冷冰四类数据归档存储平台发力

    随着云计算、大数据等新兴的应用模式广泛普及,业务数据呈现爆炸式增长,面对日益增长的数据量;东数西算基....
    的头像 浪潮存储 发表于 05-18 10:24 ? 224次 阅读

    大数据企业中昌数据发布2022第一季度报告

    大数据企业中昌数据发布2022第一季度报告,具体内容如下。 一、 主要财务数据 (一)主要会计数据和....
    的头像 汽车玩家 发表于 05-17 10:18 ? 270次 阅读

    如何调用CH579里面的Touch-Key库?

    第一次调CH579里面的Touch-Key,用的TKY_CH579库,有没有哪位大神用过,教教我调试的时候从哪一步开始调起?为啥我算的充...
    发表于 05-17 06:50 ? 105次 阅读

    SQL优化经历:从30248.271s到0.001s

    正常情况下是先join再进行where过滤,但是我们这里的情况,如果先join,将会有70w条数据发....
    的头像 数据分析与开发 发表于 05-16 15:25 ? 240次 阅读

    力源宝科技积极助力普洱市打造千亿元现代林产业

     2022年5月,广西力源宝科技有限公司普洱分公司揭牌仪式在云南普洱举行,普洱市林草局林业草原改革与....
    的头像 科技绿洲 发表于 05-16 11:14 ? 220次 阅读

    Fluid-Cloudnative云原生大数据应用支撑平台

    ./oschina_soft/fluid.zip
    发表于 05-16 09:44 ? 12次 阅读
    Fluid-Cloudnative云原生大数据应用支撑平台

    Curve分布式存储系统

    ./oschina_soft/curve.zip
    发表于 05-16 09:41 ? 5次 阅读
    Curve分布式存储系统

    视频图像处理及大数据企业中科通达发布2022年第一季度报告

    视频图像处理及大数据企业武汉中科通达高新技术股份有限公司发布2022年第一季度报告,具体内容如下。 ....
    的头像 汽车玩家 发表于 05-16 09:21 ? 260次 阅读

    TrafficTeach大数据项目:车流量监控

    ./oschina_soft/TrafficTeach.zip
    发表于 05-16 09:13 ? 11次 阅读
    TrafficTeach大数据项目:车流量监控

    大数据及人工智能厂商博睿数据发布2021年报

    大数据及人工智能厂商博睿数据北京博睿宏远数据科技股份有限公司发布2021年报告,具体内容如下。 近三....
    的头像 汽车玩家 发表于 05-16 09:02 ? 281次 阅读

    忆芯科技与美亚国云签订战略合作协议

    2022年5月12日,国产高性能企业级SSD头部企业忆芯科技与美亚柏科控股子公司福建美亚国云智能装备....
    的头像 科技绿洲 发表于 05-15 10:54 ? 354次 阅读

    易华录正式发布智慧交通大数据服务解决方案

     2022年5月13日,易华录2022年合作伙伴线上大会成功召开。本次交流会以“合作共生,聚能而为”....
    的头像 科技绿洲 发表于 05-15 09:33 ? 360次 阅读

    四维图新依托大数据及地理信息领域相关技术 全面助力疫情指挥工作开展

    “疫情时空分析平台”是世纪高通基于自身MineData位置大数据平台和疫情业务开发经验,全力打造的疫....
    的头像 科技绿洲 发表于 05-13 17:04 ? 368次 阅读

    浅谈数据系统架构核心组件及存储组件选型

    Lambda架构的核心思想是将不可变的数据以追加的方式并行写到批和流处理系统内,随后将相同的计算逻辑....
    的头像 要长高 发表于 05-13 15:53 ? 547次 阅读
    浅谈数据系统架构核心组件及存储组件选型

    分布式锁的设计与实现

    今天跟大家探讨一下分布式锁的设计与实现。希望对大家有帮助,如果有不正确的地方,欢迎指出,一起学习,一....
    的头像 数据分析与开发 发表于 05-13 15:36 ? 104次 阅读

    服务端高并发分布式架构最基础的概念

    系统中的多个模块在不同服务器上部署,即可称为分布式系统。如 Tomcat 和数据库分别部署在不同的服....
    的头像 Linux爱好者 发表于 05-13 14:45 ? 129次 阅读

    拓林思发布基于openEuler企业级Linux操作系统

    近日,拓林思正式发布基于 openEuler 22.03 LTS 的企业级 Linux 操作系统,T....
    的头像 科技绿洲 发表于 05-13 11:53 ? 266次 阅读

    曙光自研存储ParaStor持续为地震监测提供底层技术支持

    大数据、云计算等新技术与地震数据相融合,已成为推动防震减灾科技创新发展的新途径。国家地震局第二监测中....
    的头像 科技绿洲 发表于 05-13 11:23 ? 218次 阅读

    MatrixOne云端原生大数据引擎

    ./oschina_soft/matrixone.zip
    发表于 05-13 09:38 ? 17次 阅读
    MatrixOne云端原生大数据引擎

    讯维分布式可视化控制系统大大提高指挥决策的准确性

    讯维分布式可视化控制系统是专为防汛应急指挥中心打造的一套可视化、智能化信息调度控制系统。其采用分布式....
    的头像 科技绿洲 发表于 05-12 16:47 ? 255次 阅读

    flashDB TSDB数据库插入数据时报错是为什么?

    flashDB TSDB的get_time函数时返回的系统时间戳,在使用中出现我偶然错误的将RTC时间设置得比现在的时间要大很多,后面...
    发表于 05-12 16:14 ? 2162次 阅读

    曙光分布式存储系统ParaStor提高地震等自然灾害预报能力

    大数据、云计算等新技术与地震数据相融合,已成为推动防震减灾科技创新发展的新途径。国家地震局第二监测中....
    的头像 科技绿洲 发表于 05-12 15:20 ? 148次 阅读

    U9 cloud九大核心业务场景,满足企业商业创新的各种诉求

    在引领企业经营发展、满足用户需求层面,这一次,以用友U9 cloud为主导的国产化云ERP将国外管理....
    的头像 话说科技 发表于 05-12 11:10 ? 147次 阅读

    大数据时代下,数字化校园将成为未来趋势

    尤其在疫情反复的大环境下,校园数字化将帮助校园更高效地完成疫情防控,给学生提供一个安全放心的环境。针....
    发表于 05-12 10:42 ? 65次 阅读

    智能运维及大数据企业宝兰德发布2021年报

    智能运维及大数据企业北京宝兰德软件股份有限公司发布2021年报,具体内容如下。 近三年主要会计数据和....
    的头像 汽车玩家 发表于 05-12 10:41 ? 175次 阅读

    数据库单表行数最大多大?

    因为record们被分成好多份,放到好多页里了,为了唯一标识具体是哪一页,那就需要引入页号(其实是一....
    的头像 数据分析与开发 发表于 05-12 10:18 ? 85次 阅读

    云计算及大数据企业华胜天成发布2021年报

    云计算及大数据企业北京华胜天成科技股份有限公司发布2021年报,具体内容如下。 近三年主要会计数据和....
    的头像 汽车玩家 发表于 05-12 09:43 ? 187次 阅读

    中科曙光智算AC3.0平台赋能用户创新发展

    今日,中科曙光独家策划的全新产业对话类栏目《智算Talk》首期正式上线。中国信通院技术与标准研究所互....
    的头像 科技绿洲 发表于 05-11 15:47 ? 379次 阅读

    拓维信息打通企业业务全经营链条 提高业务效率

    未来拓维信息将运用云、大数据、人工智能等新技术创新,持续探索合同管理业务的新模式,全面赋能大中型企业....
    的头像 科技绿洲 发表于 05-11 14:36 ? 337次 阅读

    dvol容器化数据库版本控制

    ./oschina_soft/dvol.zip
    发表于 05-11 10:00 ? 9次 阅读
    dvol容器化数据库版本控制

    华为陕西省财政厅深化战略合作 探索云计算、大数据与财政业务深度融合

    5月10日,陕西省财政厅与华为技术有限公司签署深化战略合作框架协议。陕西省财政厅厅党组书记丁云祥,厅....
    的头像 华为 发表于 05-10 19:24 ? 857次 阅读

    IBM提出绿色金融数据平台蓝图规划

    IBM 绿色金融数据平台,依托图计算模型,将分布在不同渠道中的绿色数据通过图谱融合到一起,实现知识聚....
    的头像 科技绿洲 发表于 05-10 16:18 ? 436次 阅读

    华为云助力星瀚人力云构建新一代HR SaaS产品

    华为与金蝶于2020年开始在人力资源数字化领域展开合作,在组织与人才管理、员工基础服务等多个领域进行....
    的头像 科技绿洲 发表于 05-10 15:49 ? 312次 阅读

    一个由于MySQL分页导致的线上事故

    其实对于我们的 MySQL 查询语句来说,整体效率还是可以的,该有的联表查询优化都有,该简略的查询内....
    的头像 Android编程精选 发表于 05-10 15:31 ? 117次 阅读

    星环科技推出湖仓一体解决方案满足个性化数据分析需求

    星环科技政府与公共事业部系统架构的负责人徐流明介绍说,“湖(Hadoop技术体系)”+“仓(MPP技....
    的头像 科技绿洲 发表于 05-10 15:20 ? 168次 阅读

    MozDef攻击防御系统

    ./oschina_soft/MozDef.zip
    发表于 05-10 14:18 ? 15次 阅读
    MozDef攻击防御系统

    机房动力环境监控系统的概念及原理

    大数据时代的到来,让数据成为驱动经济社会发展的关键生产要素,正推动着实体经济发展模式,生产方式的深刻....
    发表于 05-10 14:16 ? 21次 阅读

    长城汽车发布2022年4月产销数据

    月9日,长城汽车股份有限公司(股票代码:601633.SH,02333.HK;以下简称长城汽车)发布....
    的头像 科技绿洲 发表于 05-10 11:50 ? 1123次 阅读

    四创科技“智慧水利”平台助推余姚市水利现代化管理水平

    近年来,余姚市水利局以数字赋能为引领,结合“余姚市智慧水利建设”三年行动计划,全力推进水利数字化改革....
    的头像 科技绿洲 发表于 05-09 15:13 ? 179次 阅读

    云计算及大数据企业品高股份发布2021年报

    云计算及大数据企业广州市品高软件股份有限公司发布了2021年报,具体内容如下。 近三年主要会计数据和....
    的头像 汽车玩家 发表于 05-09 11:48 ? 303次 阅读
    云计算及大数据企业品高股份发布2021年报

    立得空间快速构建数字孪生时空大数据底座

    5月8日,立得空间主办的AMR自主移动机器人技术与合作研讨会于线上召开,来自全国各省市百余家合作伙伴....
    的头像 科技绿洲 发表于 05-09 11:13 ? 207次 阅读

    Harmonyos应用程序开发如何连接到本地sqlserver数据库?

    开发文档里面是在运行代码时建立数据库,如何可以使应用程序连接到电脑内存的本地sqlserver数据库。 ...
    发表于 04-26 10:49 ? 973次 阅读

    RDS for PostgreSQL的插件的创建/删除和使用方法

    本文介绍 RDS for PostgreSQL 的插件及不同插件的创建、删除或使用方法。 PostgreSQL插件简介是开源数据库中的关系型...
    发表于 04-25 10:30 ? 366次 阅读

    Scrapy框架爬取百度新冠实时数据

    Scrapy是用纯Python实现一个为了爬取网站数据、提取结构性数据而编写的应用框架,用途非常广泛,框架的力量,用户只需要定制开...
    发表于 04-20 16:38 ? 4507次 阅读

    手把手教你怎么使用HarmonyOS Glide

    Glid是一个快速高效的库。Glid 提供了一个易于使用的 API、一个性能和可??扩展的资源解码器和自动资源池。一个灵活的AP...
    发表于 04-15 11:13 ? 1439次 阅读

    HarmonyOs集成Hawk的方法

    作用 Hawk数据存储工具,使用超简单,可以替代 Preferences,作为本地存储。Hawk是一个非常能的数据库。 项目配置 添加项目...
    发表于 04-15 11:04 ? 1078次 阅读

    DataAbility的使用方法及访问数据库的过程

    DataAbility介绍: 使用Data模板的Ability(以下简称“Data”)有助于应用管理其自身和其他应用存储数据的访问,并提供与其...
    发表于 04-06 10:32 ? 1061次 阅读

    HarmonyOS关系型数据库和对象关系数据库的使用方法

    前言 项目需要用到数据持久化存储,没有使用过HarmonyOS数据库时,我们就需要去官方文档或其他渠道去学习怎么使用,但是官方...
    发表于 03-29 14:10 ? 900次 阅读

    基于Rdb创建的一个Data_Ability的数据操作过程

    首先介绍几个基本概念和方法! 关系型数据库 基于关系模型来管理数据的数据库,以行和列的形式存储数据。(可以简单理解成一个ex...
    发表于 03-29 13:50 ? 666次 阅读
    她的小梨涡完整版免费阅读