mysql大量数据怎么处理(MySQL删除和插入数据很慢的问题解决)
mysql大量数据怎么处理
MySQL删除和插入数据很慢的问题解决公司开发人员在测试环境中执行一条 insert 语句时,需要花费 10 几秒才可以执行成功。查看测试环境数据库性能、数据量、死锁等信息,均为发现异常。最后通过修改日志写入方式解决此问题。
1. 修改办法
修改/etc/my.cnf文件,将 innodb_flush_log_at_trx_commit = 1改为0, 但这样就要承担数据库Crash后,1秒内未存储到数据库数据丢失可能的风险。MySQL文档中对该参数的描述如下:
If the value of innodb_flush_log_at_trx_commit is 0, the log buffer is written out to the log file once per second and the flush to disk operation is performed on the log file, but nothing is done at a transaction commit. When the value is 1 (the default), 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. When the value is 2, the log buffer is written out to the file at each commit, but the flush to disk operation is not performed on it. However, the flushing on the log file takes place once per second also when the value is 2. Note that the once-per-second flushing is not 100% guaranteed to happen every second, due to process scheduling issues.
2. 参数说明
- 0:log buffer将每秒一次地写入log file中,并且log file的flush(刷到磁盘)操作同时进行。该模式下在事务提交的时候,不会主动触发写入磁盘的操作
- 1:每次事务提交时MySQL都会把log buffer的数据写入log file,并且flush(刷到磁盘)中去,该模式为系统默认
- 2:每次事务提交时MySQL都会把log buffer的数据写入log file,但是flush(刷到磁盘)操作并不会同时进行。该模式下,MySQL会每秒执行一次 flush(刷到磁盘)操作
3. 注意事项
当设置为0时,该模式速度最快,但不太安全,mysqld进程的崩溃会导致上一秒钟所有事务数据的丢失。
当设置为1时,该模式是最安全的,但也是最慢的一种方式。在mysqld 服务崩溃或者服务器主机crash的情况下,binary log 只有可能丢失最多一个语句或者一个事务。
当设置为2时,该模式速度较快,也比0安全,只有在操作系统崩溃或者系统断电的情况下,上一秒钟所有事务数据才可能丢失。
innodb_flush_log_at_trx_commit和sync_binlog 两个参数是控制MySQL 磁盘写入策略以及数据安全性的关键参数,当两个参数都设置为1的时候写入性能最差,推荐做法是innodb_flush_log_at_trx_commit=2,sync_binlog=500 或1000。
到此这篇关于MySQL删除和插入数据很慢的问题解决的文章就介绍到这了,更多相关MySQL删除和插入数据很慢内容请搜索开心学习网以前的文章或继续浏览下面的相关文章希望大家以后多多支持开心学习网!
原文链接:https://blog.csdn.net/xzk9381/article/details/114872585
- mysql 日期和时间处理函数(MySQL日期与时间函数的使用汇总)
- mysql密码找回方法(MySQL8忘记密码的快速解决方法)
- mysql账户访问权限(MySQL 权限控制详解)
- mysql架构方案讲解(MySQL 搭建MHA架构部署的步骤)
- mysql发生系统错误(MySQL too many connections错误的原因及解决)
- mysql插入数据错误代码(教你解决往mysql数据库中存入汉字报错的方法)
- mysqlnull所占空间(详解mysql三值逻辑与NULL)
- ubuntu下mysql安装教程(Ubuntu 20.04 安装和配置MySql5.7的详细教程)
- mysql8使用技巧(一篇学会MySQL 8.0 ROLE管理)
- MySQL 使用事件(Events)完成计划任务(MySQL 使用事件Events完成计划任务)
- mysql用户删除了如何设置(MySQL两种删除用户语句的区别delete user和drop user)
- apache搭建php环境(Windows上安装Apache2、PHP5、MySQL5及与Resin配合实现多系统之整合)
- mysql客户端怎么运行程序(MySQL 如何连接对应的客户端进程)
- mysql时间存储如何选择(MySQL如何使用时间作为判断条件)
- mysql缓存和redis查询效率(浅谈MySQL与redis缓存的同步方案)
- mysql索引原理及使用(再有人问你MySQL索引原理,就把这篇文章甩给他!)
- 银泰集团董事长沈国军获评 北京影响力 十大企业家(银泰集团董事长沈国军获评)
- 15帅气男士发型,清爽时尚很有型,喜欢就试试(清爽时尚很有型)
- 哪几个历史人物被影协主席李雪健演的活灵活现(哪几个历史人物被影协主席李雪健演的活灵活现)
- 王伦狭隘,晁盖霸道,宋江奸诈骨头软,只有鲁智深才适合当寨主(王伦狭隘晁盖霸道)
- 他是梁山最早的头目,江湖人称 旱地忽律 ,宋江几乎将其遗忘(他是梁山最早的头目)
- 梁山创始人杜迁,为何不受宋江待见,只排名83位(梁山创始人杜迁)
热门推荐
- python opencv 标记目标(使用Python的OpenCV模块识别滑动验证码的缺口推荐)
- python设置按钮(Python按钮的响应事件详解)
- http状态码304的含义(网站出现HTTP 300 Multiple Choices是什么意思?怎么处理?)
- 海外云服务器租用要怎么选择?(海外云服务器租用要怎么选择?)
- php回收机制(PHP session垃圾回收机制实例分析)
- vue函数中的默认参数(Vue3中SetUp函数的参数props、context详解)
- python怎么操作mysql(详解Python的数据库操作pymysql)
- dedecms标签解析(解决DEDECMS采集文章待审核后仍列表显示)
- 宝塔面板windows新手教程(宝塔面板CPU负载过高使用opcache扩展的解决方法)
- vueelementui左侧菜单(Vue Element前端应用开发之动态菜单和路由的关联处理)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9