2019独角兽企业重金招聘Python工程师标准>>>

分类:见Visio图

关于大量数据导入是应注意以下几点:

  1. 分批导入,导入一批后最后提交(commit),可以使用jdbc的(executeBatch)批量处理但是注意它的最大上限,否则只会执行一部分sql语句,超过上限的sql会自动丢弃;

  2. 注意内存使用(不要出现内存益出, Java heap space;

  3. 尽量使用大量导入工具(bcp,sqlLoader)来完成(未测试不确定) ;

  4. 数据量很大时导入时最好不要做太多的判断,这样会影响导入速度;

  5. 数据量很大时:是在建表时候添加主键(假设主键不是自增长ID列)后插入数据,还是插入数据后添加主键,前者主要的问题是大量数据插入速度减慢,如果是频繁的插入操作会导致数据库奔溃;后者的问题也是大量数据的表添加主键(需要删除重复记录,并根据mysql自己的添加主键机制来处理,速度很慢,而且频繁的操作也会导致数据库的奔溃);

  6. 如果原数据表中有索引,先删除索引,待到导入数据后再建立索引;(主键是唯一索引的特列,这也是 5.中所述的)

  7. 由于数据量大的原因,需要配置mysql的my.ini 文件中相关选项,这个过程中如果不是很明白各个参数之间的相关关系,则需要一个参数一个参数的修改,从而提高mysql的整体性能;

  8. insert 语句的处理而言,用StringBuilder代替“+”其性能是个质的提高;

  9. 利用jdbc支持的批量插入(preparedstatement),手动控制事务(将插入的数据分割为多次提交),从而此番优化的程序可达到多线讲程并发高效插入的时效;

  10. 使用create table select *from soucre.table 方式建表和show create table tablename方式建表是不相同的,后者建立的表是和原来的表source.table 结构相同的,但是前者的建表方式得到的表结构是没有主键的;

转载于:https://my.oschina.net/u/1462678/blog/227170

mysql大量数据插入探讨(量变引起质变)相关推荐

  1. c mysql 插入大量数据_C++操作MySQL大量数据插入效率低下的解决方法

    通常来说C++操作MySQL的时候,往Mysql中插入10000条简单数据,速度非常缓慢,居然要5分钟左右, 而打开事务的话,一秒不到就搞定了! 具体实现代码如下: #include #include ...

  2. Mysql字符集数据插入问题(Incorrect string value ‘xE2x80xA2xE6xBCxAB...‘ for column ‘rname‘ at row 1)

    Mysql字符集数据插入问题(Incorrect string value: '\xE2\x80\xA2\xE6\xBC\xAB-' for column 'rname' at row 1) 一.问题 ...

  3. TOAD FOR MYSQL 进行数据插入时乱码的解决办法---MariaDB 5.5

    最近使用mysql是发现插入的数据乱码,几经周折终于找到的解决方法,特作备忘. 开始有将mysql的字符集全部设置成utf8,如下: SHOW VARIABLES LIKE 'character_se ...

  4. mysql大批量数据插入技巧

    转自:https://jingyan.baidu.com/album/95c9d20d61b01dec4f75615a.html?picindex=6 首先我是简单的写了一个mysql的循环插入数据的 ...

  5. mysql 大量数据插入优化

    1.一条SQL语句插入多条数据 修改后的插入操作能够提高程序的插入效率.这里第二种SQL执行效率高的主要原因是: (1)通过合并SQL语句,同时也能减少SQL语句解析的次数,减少了数据库连接的I/O开 ...

  6. mysql 批量数据插入很慢(kettle 输入输出组件) 性能优化办法

    背景 最近在做数仓重构项目,遇到一些性能瓶颈,这里记录一下解决办法. 随着业务数据每天都在增加,几年前开发的etl任务开始跑不动了.大表一般是通过增量的方式插入,但是修复bug 或者每月/季度跑一次的 ...

  7. [转]MySQL innoDB数据插入性能优化

    转载自: http://hiyijian.blog.163.com/blog/static/173086472201121621326471/ 起因:有一个innoDB引擎的表Table,在一个大概3 ...

  8. MySQL大批量数据插入

    公司有一个项目,需要频繁的插入数据到MySQL数据库中,设计目标要求能支持平均每秒插入1000条数据以上.目前功能已经实现,不过一做压力测试,发现数据库成为瓶颈,每秒仅能插入100多条数据,远远达不到 ...

  9. A表取数据处理后插入B表,Mysql大数据插入,优化过程

    情景:A表中有20万条数据,取出处理,然后插入B表. 第一版:分页取出,组成sql语句.批量插入数据 $tempData = $this->model->page($page,'1000' ...

最新文章

  1. 跨站请求伪造(CSRF)-简述
  2. 详解结构体、类等内存字节对齐
  3. accsess转成mysql语句_轻松教你SQL转ACCESS
  4. 基于web的新闻发布系统_终极Linux系统ExTiX 19.8发布,基于深度操作系统deepin15.11...
  5. DDD(领域驱动设计)系列之二-应用架构
  6. xcode5+未能安装到模拟器
  7. 中绘制折线_统计图之折线图的结构和制作过程
  8. Android----Google code android开源项目(二)
  9. leetcode-Basic Calculator-224
  10. mongoDB高级查询与索引
  11. UIView局部点击(转)
  12. 【动力学】基于matlab GUI汽车动力学分析系统【含Matlab源码 1050期】
  13. Ubuntu 安装Qt以及配置
  14. 2022年低压电工考试及低压电工模拟考试题库
  15. 华为一碰传多屏协同(非华为电脑版)最新版安装教程【华为电脑管家11】【SN码修复】【NFC卡贴修复】
  16. 深入解析 | 如何设置关键词密度?
  17. Python实现qq自动发送消息
  18. android 标签开源控件,Android开源控件ViewPager Indicator的使用方法
  19. Linux基础命令---lp打印文件
  20. vue v-if : TypeError: Cannot read property 'length' of undefined

热门文章

  1. java简单小程序_Java简易登录注册小程序
  2. sql 实现两行数据作差
  3. 【AI产品】超长文详解作业帮产品逻辑和技术原理
  4. 中国无碳复写纸行业竞争现状与运行态势研究报告2022年
  5. 中国半光纸市场供需形势分析及运行环境研究报告2021年版
  6. sunPKCS11加载动态库(转)
  7. vc通过COM方式调用CertEnroll
  8. 中国农民丰收节交易会新闻发布会倡导功能农业·农业大健康
  9. java static成员变量方法和非static成员变量方法的区别 ( 二 )
  10. 网狐荣耀源码(含内核源码)可二次开发