一般情况下mysql上百万数据读取和插入更新是没什么问题了,但到了上千万级就会出现很慢,下面我们来看mysql千万级数据库插入速度和读取速度的调整记录吧。

(1)提高数据库插入性能中心思想:尽量将数据一次性写入到Data File和减少数据库的checkpoint 操作。这次修改了下面四个配置项:

1)将 innodb_flush_log_at_trx_commit 配置设定为0;按过往经验设定为0,插入速度会有很大提高。

0: Write the log buffer to the log file and flush the log file every second, but do nothing at transaction commit.

1:the log buffer is written out to the log file at each transaction commit and the flush to disk operation is performed on the log file

2:the log buffer is written out to the file at each commit, but the flush to disk operation is not performed on it

2)将 innodb_autoextend_increment 配置由于默认8M 调整到 128M

此配置项作用主要是当tablespace 空间已经满了后,需要MySQL系统需要自动扩展多少空间,每次tablespace 扩展都会让各个SQL 处于等待状态。增加自动扩展Size可以减少tablespace自动扩展次数。

3)将 innodb_log_buffer_size 配置由于默认1M 调整到 16M

此配置项作用设定innodb 数据库引擎写日志缓存区;将此缓存段增大可以减少数据库写数据文件次数。

4)将 innodb_log_file_size 配置由于默认 8M 调整到 128M

此配置项作用设定innodb 数据库引擎UNDO日志的大小;从而减少数据库checkpoint操作。

经过以上调整,系统插入速度由于原来10分钟几万条提升至1秒1W左右;注:以上参数调整,需要根据不同机器来进行实际调整。特别是 innodb_flush_log_at_trx_commit、innodb_log_buffer_size和 innodb_log_file_size 需要谨慎调整;因为涉及MySQL本身的容灾处理。

(2)提升数据库读取速度,重数据库层面上读取速度提升主要由于几点:简化SQL、加索引和分区; 经过检查程序SQL已经是最简单,查询条件上已经增加索引。我们只能用武器:表分区。

-----------------------------------mysql提高insert into 插入速度的3种方法---------------------------------------

当mysql大批量插入数据的时候就会变的非常慢, mysql提高insert into 插入速度的方法有三种:

第一种插入提速方法:

如果数据库中的数据已经很多(几百万条), 那么可以 加大mysql配置中的 bulk_insert_buffer_size,这个参数默认为8M

bulk_insert_buffer_size=100M

第二种mysql插入提速方法:

改写所有 insert into 语句为 insert delayed into

这个insert delayed不同之处在于:立即返回结果,后台进行处理插入。

第三个方法: 一次插入多条数据:

insert中插入多条数据,举例:

insert into table values('11','11'),('22','22'),('33','33')...;

mysql提高insert into 插入速度的3种方法

mysql数据库加载太慢_mysql千万级数据库插入速度和读取速度的调整记录相关推荐

  1. mysql怎么加载bak文件_MySQL数据库(表)的导入导出(备份和还原)

    一)在同一个数据库服务器上面进行数据表间的数据导入导出: 1. 如果表tb1和tb2的结构是完全一样的,则使用以下的命令就可以将表tb1中的数据导入到表tb2中: insert into db2.tb ...

  2. mysql数据库加载太慢_使用MySQL数据库很慢

    对于2000数据库,您应该调整table cache设置.您肯定在此缓存中有很多缓存未命中. 尝试使用mysqltunner和/或tunning_primer.sh获取有关设置潜在问题的其他信息. 现 ...

  3. 你所不知道的SQL Server数据库启动过程(用户数据库加载过程的疑难杂症)

    转http://www.cnblogs.com/zhijianliutang/p/4100103.html 前言 本篇主要是上一篇文章的补充篇,上一篇我们介绍了SQL Server服务启动过程所遇到的 ...

  4. Spark-SQL从MySQL中加载数据以及将数据写入到mysql中(Spark Shell方式,Spark SQL程序)

    1. JDBC Spark SQL可以通过JDBC从关系型数据库中读取数据的方式创建DataFrame,通过对DataFrame一系列的计算后,还可以将数据再写回关系型数据库中. 1.1. 从MySQ ...

  5. Spring 3.1 –从数据库加载XML配置的属性

    Spring使通过其PropertyPlaceholderConfigurer和(Spring 3.1之前)PropertySourcesPlaceholderConfigurer(Spring 3. ...

  6. spark mysql 写_Spark-SQL从MySQL中加载数据以及将数据写入到mysql中(Spark Shell方式,Spark SQL程序)...

    1. JDBC Spark SQL可以通过JDBC从关系型数据库中读取数据的方式创建DataFrame,通过对DataFrame一系列的计算后,还可以将数据再写回关系型数据库中. 1.1. 从MySQ ...

  7. Paging3、Room使用,1、从本地Room数据库加载 2、直接网络获取数据加载 3、网络访问数据到Room数据库再加载 4、封装使用

    目录 1.从本地Room数据库加载数据 viewmodel fragment中使用 页面 数据库相关 2.直接网络获取数据加载 3.网络访问数据到Room数据库再加载数据 自定义RemoteMedia ...

  8. Asp .NetCore 从数据库加载配置(一)

    一般来说,Asp .NetCore 应用从官方默认的appsetting.json文件中读取就好,而且利用option模式中的 IOptionsSnapSot<T>.IOptionsMon ...

  9. 如何实现mysql千万级数据库插入速度和读取速度

    mysql千万级数据库插入速度和读取速度的调整记录 2018.11.1 Mysql version 5.7.23 一般情况下mysql上百万数据读取和插入更新是没什么问题了,但到了上千万级就会出现很慢 ...

最新文章

  1. 关于三岔路口双车接力,这位同学把问题总算问清楚了
  2. Entity Framework 无法对没有主键的视图映射实体的解决办法
  3. AngularJs快速上手掌握
  4. win8硬盘安装Ubuntu14.04双系统參考教程
  5. 李国庆离开当当,广东消委会告长隆,智能校服提供定位功能,全球首个5G火车站来了,这就是今天的大新闻...
  6. centos查看网络速率_CentOS 7查看网络带宽使用情况
  7. 解析xml文件的几种技术
  8. Android Support Library 23.2更新啦
  9. NumberFormat和DecimalFormat
  10. vscode下载太慢,修改下载地址提速
  11. CS224N WINTER 2022(三)RNN、语言模型、梯度消失与梯度爆炸(附Assignment3答案)
  12. border属性的三要素
  13. 【动态规划】2只鸡蛋与100层塔问题(有详细说明和思路代码)
  14. python基础--截图提取图中文字存入Excel表
  15. bios+mbr方式以及gpt+uefi方式安装win10和ubuntu18.10
  16. python 做网站的工具_python能做网站
  17. [二分图最大独立集] bzoj4808 马
  18. Python mac运行pygame一片空白不显示内容-解决方案
  19. CEGUI 动画系统
  20. 自动化提取书生(sep,gd等)文档内容,更新到hive

热门文章

  1. 【控制】《多智能体机器人系统信息融合与协调》范波老师-第6章-基于分布式强化学习的多 Agent 协调方法
  2. 【控制】传递函数的性质
  3. 【Android工具】更新解放双眼听书软件,搜书神器
  4. Vivado联合ModelSim仿真设置(附图步骤)
  5. linux下tty, ttyn, pts, pty, ttySn, console理解
  6. Servlet重定向的过程(二)
  7. ifconfig,netstat 命令找不到解決办法
  8. 就是好骑!骑ofo小黄蜂和舒畅早晨say hi,跟闹心堵车say bye
  9. String是一个很普通的类 - Java那些事儿
  10. 长亭技术专栏 安全攻防技术分享