我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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删除和插入数据很慢内容请搜索自学编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持自学编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL删除和插入数据很慢的问题解决

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL删除和插入数据很慢的问题解决

公司开发人员在测试环境中执行一条 insert 语句时,需要花费 10 几秒才可以执行成功。查看测试环境数据库性能、数据量、死锁等信息,均为发现异常。最后通过修改日志写入方式解决此问题。 1. 修改办法修改/etc/my.cnf文件,将 i
2022-05-14

Oracle删除数据非常慢的问题及解决

目录oracle删除android数据非常慢问题描述处理流程Oracle删除表中大量数据卡顿的解决正确姿势总结Oracle删除数据非常慢记一次数据库删除数据非常慢的处理流程问题描述单表数据3000条左右,根据主键删除需要509秒处理
2023-02-15

java向mysql插入数据乱码问题的解决方法

遇到java向mysql插入数据乱码问题,如何解决?MySQL默认编码是latin1mysql> show variables like 'character%'; +--------------------------+---------
2023-05-31

MySQL插入不了中文数据问题怎么解决

出现插入不了中文数据的问题,可能是因为以下几个原因:数据库字符集不支持中文字符。可以通过修改数据库的字符集来解决。可以尝试修改数据库的字符集为utf8或utf8mb4。数据库表的字符集不支持中文字符。可以通过修改表的字符集来解决。可以尝试修
MySQL插入不了中文数据问题怎么解决
2024-04-09

nodejs和C语言插入mysql数据库乱码问题的解决方法

在这里记录了nodejs过程中的一些乱码情况,这里的乱码主要是由于网页的编码方式与nodejs的默认解码方式(utf8)不一致所造成的。这一次要说一下的是在C语言和nodejs与MySQL进行交互的时候出现的乱码问题。1,由于爬虫程序在多个
2022-06-04

解决Python访问MySQL数据库速度慢的问题

这两天写了个作业,关于学生选课系统的,随后完成后也会发布到我的博客里面。室友的访问速度几乎是毫秒级,而我的起码要等上四五秒钟。 我总结的影响访问速度的原因主要有以下几种: 1、主机名 2、重复开、关数据库 3、后台数据库中的数据过多,没做数
2022-05-29

MySQL插入不了中文数据问题的原因及解决

目录前言原因:具体解决方法:创建数据库时设置字符集为utf8修改数据库配置文件(比较麻烦)总结 前言我们使用mysql可能会遇到加入中文报错的情况,如下。报错:非法的字符编程客栈值 放入 ‘name’ 为什么
2023-05-05

C语言解决字符串中插入和删除某段字符串问题

这篇文章主要介绍了C语言解决字符串中插入和删除某段字符串问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2023-02-06

快速解决mysql导数据时,格式不对、导入慢、丢数据的问题

如果希望一劳永逸的解决慢的问题,不妨把你的mysql升级到mysql8.0吧,mysql8.0默认的字符集已经从latin1改为utf8mb4,因此现在UTF8的速度要快得多,在特定查询时速度提高了1800%! 但是如果时间等不及,就先用下
2022-05-25

Excel数据导入Mysql常见问题汇总:如何解决导入数据时遇到的大批量插入问题?

Excel数据导入Mysql常见问题汇总:如何解决导入数据时遇到的大批量插入问题?导入Excel数据到MySQL是日常开发中经常遇到的任务之一。对于少量数据的导入,可以使用数据库客户端工具或者命令行进行插入操作。但当面对大批量数据导入时,简
2023-10-22

MySQL删除数据后自增主键ID不连贯问题及解决

目录mysql删Bxelo除数据后自增主键ID不连贯下列代码以wat编程er表中的id列为例然后重新生成id列下一步就是重新设置为主键+自增总结MySQL删除数据后自增主键ID不连贯首先我们需要取消id的自增和主键下列代码以water表
MySQL删除数据后自增主键ID不连贯问题及解决
2024-09-08

mysql插入中文数据变成问号的解决方案

目录mysql插入中文数据变成问号存入mysql的汉字变成问号项目场景问题描述解决方案总结mysql插入中文数据变成问号写在前面也许在看这篇文章的你因为这个事情烦恼,网上说的都是什么修改my.ini文件,可是当你发现你的服务器安装的mys
2023-04-06

编程热搜

目录