MySQL Workbench处理数据过大的部分问题

很多使用MySQL Workbench的朋友在处理过大数据时可能会遇到一些问题报错,在此仅列出我所遇见的问题与解决方法

一.超时报错

超时报错一般由于超出Workbench所设定的最大运行时间导致,如下图所示:
在这里插入图片描述
但此段代码在MySQL的命令行中执行时,不会发生错误,仅仅是因为执行时间导致:
在这里插入图片描述
这种情况我尝试过修改my.ini配置文件,添加一些配置,但重启MySQL服务后则无法连接上Workbench。所以在这个软件本身上找配置,修改即可。

修改步骤

1.进入Workbench,点击Edit,选中对话框中的preferences

在这里插入图片描述

2.修改下图(已修改过)大方框中第二栏,以秒为单位,之后重启Workbench即可。

在这里插入图片描述

在修改完之后,处理大数据的过程中虽不会再断开连接,但仍然会有新的问题报错,即下图所示:

在这里插入图片描述

二.超出缓冲区报错

以上问题则是你的缓冲区预留空间不足,导致无法处理一批庞大的数据,但是在命令行中,仍然可以运行此段代码(后来想想既然第一次在命令行可以运行成功,那也就不存在这个问题呢)
遵循严谨性我们还是再次运行一遍如下:
在这里插入图片描述

解决办法

※以下部分内容来自此博主的文章,在此我仅做一些整理和改动
https://blog.csdn.net/jacson_bai/article/details/44755503

1.首先查看max_write_lock_count

个人认为这不是报错的主要原因,因为这是写入空间,如果报错则应该会在导入数据时报错,而不是到运行查询分类时报错(纯粹个人见解,如若不当请多包涵!)
查询语句show global variables like 'max_write_lock_count';
在这里插入图片描述
可以看出这个空间的value值有4G,足够存储我的数据,应该不是报错主因。

2.其次查看innodb_buffer_pool_size

查询语句show global variables like 'innodb_buffer%';
在这里插入图片描述
innodb_buffer_pool_size 的默认大小为 8M,
即缓冲区的大小只有8M,完全不足以处理庞大的数据量,
所以我们需要修改这个值的大小(value值大小可根据自己需求修改):
修改语句set global innodb_buffer_pool_size=4294967296;
在这里插入图片描述
修改完毕后再次在Workbench中运行尝试:
在这里插入图片描述
可以正常运行啦~

至此,该部分问题解决,希望对大家有所帮助!

  • 1
    点赞
  • 2
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:1024 设计师:我叫白小胖 返回首页
评论

打赏作者

_Baby_Dragon

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值