首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

一般来说在MySQL在运行中有很多的cache来支持相关的语句执行的工作,临时表在MySQL 中有重要的作用,如 tmp_table_size max_heap_table_size max_tmp_tables...这些参数制定在内存中存储的临时表的最大的大小,tmp_table_size 直接制定在内存中存储的临时表的最大值, max_heap_table_size 指定在heap存储引擎的最大临时表的大小,...一般来说在8 -16MB,不建议MySQL数据库超过这个值,基本触发tmp_table_size 产生的情况为语句中有group by ,order by 等语句导致数据需要进行收集后的排序导致的,使用...tmp_table_size = 8 * 1024 * 1024; 另外再进行语句操作中sort_buffer_size 是另一个控制语句中数据排序操作的缓冲区的设置,设置较大的缓冲区有助于排序的操作。...[mysqld] tmp_table_size = 16M sort_buffer_size = 2M 这里在调整了tmp_table_size 参数后,将原有数据库的参数调整为现有参数的3倍后,问题解决

23710
您找到你想要的搜索结果了吗?
是的
没有找到

MySQL8.0中消失又回来的磁盘临时表

但是,使用pt-query-digest分析完慢SQL,我就有点蒙了,慢SQL执行的平均时间、最长执行时间都不足1秒,关于临时表的参数max_heap_table_size设置为32M,tmp_table_size...由于生产环境不能随意操作,我在本地搭建了相同版本的数据库,为了复现磁盘临时表的使用,设置参数tmp_table_size为1024,同时也构造了几个大表关联,中间结果集超过2M的查询,然而也没有让Created_tmp_disk_tables...和max_heap_table_size的较小值,就会转换为磁盘临时表,而我的tmp_table_size设置为了1024,小于访问INNODB_TABLES所需要的内存空间。...The tmp_table_size variable does not apply to user-created MEMORY tables....为了印证所想,我将tmp_table_size值调整为默认值16M,此时再访问PROCESSLIST发现Created_tmp_disk_tables计数器没有增加,基本上确认了上面的猜想。

68320
领券