背景

线上服务某些条件下的列表查询失败,报系统异常,查询线上日志发现报了排序缓冲区溢出

### Cause: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size
; uncategorized SQLException; SQL state [HY001]; error code [1038]; Out of sort memory, consider increasing server sort buffer size; nested exception is java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size

资料查找

mysql - Error "1038 Out of sort memory, consider increasing sort buffer size - Stack Overflowhttps://stackoverflow.com/questions/29575835/error-1038-out-of-sort-memory-consider-increasing-sort-buffer-size根据2021-04-26 12点19分Webnet的回答,即使只使用主键排序,但是select字段中含有超长字段就可能会触发这个问题,我们线上的SQL就是只使用了主键排序,但是select字段中有个超长的text字段

根据该回答提及的MySQL问题链接,查看bug记录

MySQL Bugs: #103225: "Out of sort memory error" has an inconsistent relationship with the buffer sizehttps://bugs.mysql.com/bug.php?id=103225可知道MySQL版本大于8.0.17且小于8.0.28的会存在此问题,此问题在8.0.28版本已修复,而我服务器MySQL的版本为8.0.25,根据bug评论,在问题版本区间内有两种解决方案

1.在配置文件中配置sort_buffer_size,但是都不建议,因为这治标不治本,而且也不好估计设置多少合适

2.将大字段类型改为longtext,这样可以走8.0.17版本的处理逻辑,就不会触发这个bug

MySQL排序缓冲区溢出([HY001]; error code [1038],Out of sort memory, consider increasing server sort buffer )相关推荐

  1. SQLException SQL state [HY001] error code [1038]Out of sort memory

    具体报错如下图所示 这种情况从字面上看是mysql在排序的时候内存溢出了, 具体使用了分页的操作, 每次都要进行一次的排序, 所以导致mysql内存不足的情况.多测试了几次,发现只要是添加了order ...

  2. mysql溢出漏洞,Mysql 远程缓冲区溢出漏洞

    Mysql 远程缓冲区溢出漏洞 发布日期:2001-01-27 更新日期:2001-01-27 受影响系统:T.C.X DataKonsult MySQL 3.23.30 T.C.X DataKons ...

  3. mysql常见问题处理-插入数据error code:1206

    mysql常见问题处理-插入数据error code:1206 mysql  error code:1206 the total number of locks exceeds the lock ta ...

  4. mysql 错误1136_mysql,_MySQL错误:Error Code: 1136,mysql - phpStudy

    MySQL错误:Error Code: 1136 我有一张数据表,表结构如下: CREATE TABLE IF NOT EXISTS `icy_car` ( `car_id` bigint(20) N ...

  5. deepdive连接mysql数据库_如何从Error Code获取Message

    如何从Error Code获取Message 1.Windows下根据错误代码号打印错误消息 "displays information about Windows network mess ...

  6. 生成MySQL数据库表报错:Error Code: 1022. Can't write; duplicate key in table '#sql-e88_23'

    生成MySQL数据库表报错SQL: alter table position add constraint FK_Reference_1 foreign key (partner_id)       ...

  7. mysql恢复单个数据,error code 1815

    根据我上一篇的单个数据恢复:table名为result:result有1.3G,一年半的数据,无法恢复,焦虑好几天 alter table result diascrd tablespace: alt ...

  8. mysql 1136错误_MySQL错误:Error Code: 1136

    我有一张数据表,表结构如下: CREATE TABLE IF NOT EXISTS `icy_car` ( `car_id` bigint(20) NOT NULL AUTO_INCREMENT, ` ...

  9. Kali Linux 从入门到精通(十)-漏洞挖掘之缓冲区溢出

    Kali Linux 从入门到精通(十)-漏洞挖掘之缓冲区溢出 程序漏洞从哪里来? 罪恶的根源:变量 数据与代码边界不清(注入攻击) 最简漏洞原理-shell 脚本漏洞(本质:输入数据本身,程序本身没 ...

  10. 缓冲区溢出基础与实践

    缓冲区溢出 缓冲区溢出是指当计算机向缓冲区内填充数据时超过了缓冲区本身的容量,溢出的数据覆盖在合法数据上.理想的情况是:程序检查数据长度并不允许输入超过缓冲区长度的字符,但是绝大多数程序都会假设数据长 ...

最新文章

  1. 简单介绍Windows中将Nginx添加为服务的问题
  2. RACER: Rapid and accurate correction of errors in reads 快速、准确地修正读数中的错误
  3. javaScript常用知识点有哪些
  4. php oauth2.0 实例,详解laravel passport OAuth2.0的4种模式
  5. 2013工资新规定,未来的八种人将会被淘汰!
  6. Leetcode之Database篇
  7. android chrome cast,有了它 任何安卓设备瞬间变身ChromeCast
  8. mysql删除一条记录
  9. c语言输入四个成绩求最高分最低分,数组实现学生成绩录入、求最高分、最低分、平均分和排序...
  10. Linux使用socket选项的定时器
  11. python爬虫网易云音乐最热评论并分析_Python3实现爬虫抓取网易云音乐的热门评论分析(图)...
  12. UVA10803 Thunder Mountain【Floyd算法】
  13. java 爬虫处理数据_Java语言实现爬虫实战
  14. win10商店下载位置_win10应用商店下载的东西在哪
  15. ImageOptim-无损图片压缩Mac版
  16. 未来教育全国计算机考试,未来教育.全国计算机等级考试
  17. win7添加打印机失败
  18. 登月计划 [扩展回旋阿姆斯特朗算法]
  19. 蓝桥杯JAVA-32.二维数组(矩阵)实现旋转模板(JAVA实现)
  20. 安卓recovery系统详解

热门文章

  1. 我是一个线程(转载自: IBM刘欣)
  2. Angular------使用IDEA开发Angular
  3. SAP中常用到的会计知识
  4. java ini_Java读取ini文件 [org.dtools.javaini] | 学步园
  5. 计算机病毒免疫学,模块化免疫神经网络模型在计算机病毒分类检测中的
  6. 设置oracle sys密码修改,Oracle修改SYS密码
  7. 用商汤的mmdetection 学习目标检测中的 Recalls, Precisions, AP, mAP 算法 Part1
  8. oracle出现ora 12514,Oracle 11g ORA-12514 解决办法
  9. linux系统MSL时间如何查,Linux和Windows系统修改MSL的值
  10. VMware VMFS分区表恢复