MySQL 临时数据空间不足导致SQL被killed 的问题与扩展

64dee5c9575ffa7cb609bbd700b0bff9.png

开头还是介绍一下群,如果感兴趣PolarDB ,MongoDB ,MySQL ,PostgreSQL ,Redis, Oceanbase, Sql Server等有问题,有需求都可以加群群内,可以解决你的问题。加群请联系 liuaustin3 ,(共1730人左右 1 + 2 + 3 + 4 +5) 4群(230+),另欢迎 OpenGauss 的技术人员加入。

每日感悟

个人感悟: 终身学习,持续减少认知的局限性,每个人的认知都局限于自己的生活的圈层和历来的过往,知识来自于书本,老师,人生经历,这些都是有限的,在优秀的人也是基于这些基础上搭建的知识体系,进行扩展,形成你的知识架构和常识,持续提高自己的认知的范围,不活在自己的小圈层,不要认为自己一定是对的,认识到自己很多地方是有局限性的,也不用过分否定自己,在重大的事情上,在自己认知的基础上,多问为什么? 扩展自己的认识是一辈子需要做的事情。

最近在MySQL运行中应用程序报错,/home/mysql/data3009/tmp/#sql_14cdb_24' is full" 。

一般来说在MySQL在运行中有很多的cache来支持相关的语句执行的工作,临时表在MySQL 中有重要的作用,如

tmp_table_size
max_heap_table_size
max_tmp_tables

这些参数制定在内存中存储的临时表的最大的大小,tmp_table_size 直接制定在内存中存储的临时表的最大值, max_heap_table_size 指定在heap存储引擎的最大临时表的大小,同时max_tmp_tables 用来指定一个线程可以创建的最大的临时表的数量。
而上面这些参数,在设置不足的情况下,就可能发生上面的问题,尤其在MySQL中执行一些大SQL 和 过度使用MySQL 将其当做OLAP的应用场景使用的情况下,会容易发生上面的错误。

一般简单的情况下,可以通过调高上面的参数来,临时解决问题。一般来说在8  -16MB,不建议MySQL数据库超过这个值,基本触发tmp_table_size 产生的情况为语句中有group by ,order by 等语句导致数据需要进行收集后的排序导致的,使用tmp_table.

tmp_table_size = 8 * 1024 * 1024;
另外再进行语句操作中sort_buffer_size 是另一个控制语句中数据排序操作的缓冲区的设置,设置较大的缓冲区有助于排序的操作。当然需要注意在内存不足的时候,这些设置会导致操作在磁盘上进行。

[mysqld]
tmp_table_size = 16M
sort_buffer_size = 2M


这里在调整了tmp_table_size 参数后,将原有数据库的参数调整为现有参数的3倍后,问题解决,同时也调整了一些其他的参数。

这里对这些参数进行一个回顾和在学习
1 tmp_table_size :参数设置主要负责临时表在内存中最大的写入的大小,与这个参数有关的MySQL的动作有 创建临时表,如 create temporary table , 或MySQL 根据数据处理中的需求,自助创建临时表,这个参数在MySQL 8.028 开始有了改变,在tmp_table_size 达到使用的限制的时候,MySQL会自动将内存中的内部临时表转换为innodb磁盘上的内部临时表,这个参数限制内存的使用,主要的目的是防止个别查询过多消耗temptable的资源。

2 sort_buffer_size :sort_buffer_size 主要是在针对SQL运算中的无法通过查询优化,或索引进行改进的情况下,数据库针对数据排序进行的另一种优化的方式。


3  max_heap_table_size : 在使用heap内存数据存储引擎的时候,会对创建的临时表进行中间结果的存储,这里heap的存储部分会通过max_heap_table_size来进行限制,这里产生临时表的过程主要是ORDER BY ,GROUP BY 等语句会产生相关的需求,另外再表连接中也可能会使用,另外还有没有索引的情况下,也有可能会使用。

4 innodb_disable_sort_file_cache: 这个参数是针对排序文件是否使用文件来进行限制,如果设置为 1 将禁止使用缓存文件,这里就只能使用缓存而当缓存不足,就无法创建磁盘文件,所以产生上面的错误也有可能是这个参数被设置为1 。

所以在遇到上面的错误的情况下,可以针对这四个参数进行检查,将相关的设置进行变动,常识解决遇到SQL 执行报错临时文件无法生成的问题。

ff51100a0b972f926cf091fe7c553117.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/192058.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mover Creator--功能简介

Mover Creator是一款AFSIM软件工具,提供方便易用的基于GUI的应用程序,帮助用户创建用于空中运动器的AFSIM输入文件,包括WSF_P6DOF_MOVER和WSF_GUIDED_MOVER。使用自定义定义的基于图形的模型定义,用户可以对飞机、武器和发动机进行…

邮政快递查询,邮政快递单号查询,用表格导出查询好的物流信息

批量查询邮政快递单号的物流信息,并以表格的形式导出查询好的物流信息。 所需工具: 一个【快递批量查询高手】软件 邮政快递单号若干 操作步骤: 步骤1:运行【快递批量查询高手】软件,第一次使用的伙伴记得先注册&am…

linux后端基础---笔记整理(tmux、vim、shell、ssh/scp、git、thrift、docker)

目录 1.Linux常用文件管理命令 2.tmux终端复用器/vim命令式文本编辑器 3.Shell语法 3.1 Shell—版本3.2 新建一个test.sh文件3.3 Shell文件—运行方式3.4 Shell—注释3.5 Shell—变量3.6 Shell—默认变量,文件参数, “$”的用法3.7 Shell—数组3.8 shell—expr命令…

AD7124-4 实测热电偶数据读取,电压精度到稳定到±1uV, 电压波动260nV, 温度精度到±0.01℃

AD7124-4 实测热电偶数据读取,电压精度到稳定到1uV, 电压波动260nV, 温度精度到0.01℃ AD7124_STM32_ADI官网例程使用stm32 和ad7124做温控调试,发现效果还是不错的,至少比ads1256的效果好多啦!Chapter1 AD7124-4 实测热电偶数据读…

Halcon tiff 点云读取以及平面矫正

一、读取tiff 图 dev_close_window () dev_open_window (0, 0, 512, 512, black, WindowHandle)xResolution:0.0025 yResolution:0.0025 zResolution:0.001 read_image (IntputImage, C:/Users/alber/Desktop/2023-08-15_16-38-24-982_/Sta5_002.tif) zoom_image_factor (Intpu…

初创公司的技术 SEO:提示和最佳实践

初创公司总是寻求可以在几乎没有前期资金的情况下进行扩展的增长战略。搜索引擎优化就是这样一种方法。 如果操作得当,SEO可以产生越来越多的目标访问者,而无需额外费用。此外,它可以通过支持其他策略来影响整个营销漏斗。你已经找到了学习初…

Edge 旧版本回退

微软官网 下载策略文件 下载后,解压打开 cad 包,把里面的 Windows\ADMX\ 下 3 个 *.admx 文件解压到 C:\Windows\PolicyDefinitions Windows\ADMX\zh-CN 下 3 个 *.adlm 文件解压到 C:\Windows\PolicyDefinitions\zh-CN Windows 搜索 gpedit&#xff…

XIAO ESP32S3之SenseCraft 模型助手部署

sipeed教程:SenseCraft 模型助手部署 | Seeed Studio Wiki 一、安装ESP-IDF 鉴于我的电脑之前安装过esp-idf v4.3版本,而ESP32-S3需要v4.4及以上版本才支持,所以将esp-idf更新到最新5.1版本。 1、启动mingw32.exe应用 2、进入esp-idf目录 …

重要通知丨 JumpServer 开源堡垒机 V2 社区版即将停止维护

尊敬的 JumpServer 开源堡垒机用户,您好! 根据《关于 JumpServer 开源堡垒机 V2 版本产品生命周期的相关说明》,JumpServer 开源堡垒机 V2 版本(社区版)将于 2023 年 12 月 31 日停止维护支持。 在过去的两年多时间里…

ELK配置记录

1. filebeat.yml配置 启动命令: ./filebeat -e -c filebeat.yml # 输入 filebeat.inputs: - type: logenabled: truepaths:- /soft/log/base.*#跨行日志正则,从有时间的开始,到下一个时间之前结束multiline.pattern: ^\[[0-9]{4}-[0-9]{2}…

使用纯js码2个实用功能banner图标切换和表格制作

“I can accept failure, but I cant acceptnot trying.”—— by Michael Jordan    “我可以接受失败&#xff0c;但我不能接受放弃。” ——迈克尔•乔丹   banner图标切换 js原生&#xff1a;图片地址你们自己设置位置&#xff0c;相对位置或者绝对位置即可 <!DOCTY…

蓝桥杯物联网竞赛_STM32L071_6_RTC显示

作用&#xff1a; RTC在STM32微控制器中通常由一个独立的低功耗晶振和相关的寄存器组成。它可以独立于主处理器运行&#xff0c;即使在系统电源关闭的情况下(需要备用纽扣电池)&#xff0c;也能继续计时和记录日期。注意&#xff1a;RTC是芯片内部的功能&#xff0c;并没有和G…

Eaxyx 让圆球跟随鼠标移动

如果出现2023&#xff0c;代表配置成功: 进入Eaxy官方网站&#xff0c;点击文档&#xff1a; 选择 函数->绘图函数->initgraph: 可以看见initgraph&#xff08;&#xff09;函数有如下三个参数: 现在我们想生成一个1280*720大小的窗口&#xff1a; 我们需写如下代码: 但…

数据结构算法-冒泡排序算法

引言 虽然选择排序好用 &#xff0c;但有点问题 也就是频繁找最大值下标 放到 未排序的后面 因为每次需要扫描整个未排序序列&#xff0c;找到最大值或最小值的下标&#xff0c;并将其交换到未排序序列的最后一个位置。这样做的问题在于&#xff0c;在后面的迭代中&#xff0c…

C# WPF上位机开发(计算器界面设计)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 c# wpf最大的优势就是开发业务软件比较快、效率比较高。一般来说&#xff0c;它的界面和逻辑部分可以同时开发。界面的部分用xaml编写即可&#xf…

Spring Framework详解

学习目标 能够说出Spring的体系结构 能够编写IOC入门案例 能够编写DI入门案例 能够配置setter方式注入属性值 能够配置构造方式注入属性值 能够理解什么是自动装配 一、Spring简介 1 Spring课程介绍 问题导入 我们为什么要学习Spring框架&#xff1f; 1.1 为什么要学 Spri…

Nat. Mach. Intell. | 预测人工智能的未来:在指数级增长的知识网络中使用基于机器学习的链接预测

今天为大家介绍的是来自Mario Krenn团队的一篇论文。一个能够通过从科学文献中获取洞见来建议新的个性化研究方向和想法的工具&#xff0c;可以加速科学的进步。一个可能受益于这种工具的领域是人工智能&#xff08;AI&#xff09;研究&#xff0c;近年来科学出版物的数量呈指数…

如何选择适合的光电传感器与 STM32 微控制器进行接口设计

本文介绍了如何选择适合的光电传感器与 STM32 微控制器进行接口设计的方法。首先我们将介绍一些选择光电传感器的关键因素&#xff0c;包括测量范围、响应时间、分辨率和输出类型。然后我们将介绍如何根据所选传感器的特性进行硬件连接和接口设计。最后&#xff0c;我们将提供示…

同旺科技 USB TO SPI / I2C --- 调试W5500

所需设备&#xff1a; 内附链接 1、USB转SPI_I2C适配器(专业版); 首先&#xff0c;连接W5500模块与同旺科技USB TO SPI / I2C适配器&#xff0c;如下图&#xff1a; 读取重试时间值寄存器&#xff0c;默认值0x07D0 输出结果与默认值一致&#xff0c;芯片基本功能已经调通&am…

go自定义端口监听停用-------解决端口被占用的问题

代码 package mainimport ("fmt""log""net""os/exec""strconv""strings" )func getSelect(beign int, end int) int {var num intfor {_, err : fmt.Scan(&num)if err ! nil {fmt.Println("输入错误&am…