【达梦】-544: 超出全局排序空间,请调整SORT_BUF_GLOBAL_SIZE、SORT_BUF_SIZE、SORT_BLK_SIZE

遇到这个异常,说明排序区相关参数的设置不满足当前sql需求

两个方向去考虑:

1、检查为什么这么多排序的sql要执行,能否减少、降低,例如去掉order by

2、调整相关参数

先看官方文档

再看当前参数(这个简单,所以先入手)

大致解释,详细的看官方文档

bash 复制代码
SORT_BUF_SIZE = 20 #maximum sort buffer size in Megabytes
SORT_BLK_SIZE = 1 #maximum sort blk size in Megabytes
SORT_BUF_GLOBAL_SIZE = 1000 #maximum global sort buffer size in Megabytes
SORT_FLAG = 0 #choose method of sort
SORT_FLAG:动态参数,控制排序机制,设置为0表示原排序机制(默认值);1表示用新排序机制。
SORT_BUF_SIZE:动态参数,在原排序机制下排序缓冲区的最大值,有效值范围为1-2048MB。
SORT_BLK_SIZE:动态参数,在新排序机制下没个排序分片空间的大小,有效值范围:1-50MB。
SORT_BUF_GLOBAL_SIZE:动态参数,在新排序机制下排序全局内存的使用上限,有效值范围为10~42944967294MB。`

检查当前排序区使用情况

```sql
--从以下几个角度看
select * from v$mem_pool where name='VDTA POOL'; --可能新版本没有
select * from v$gsa;
select * from v$sort_history order by sort_bytes desc limit 5;
SELECT  TOP 20  EXEC_ID,   substr( SQL_TEXT,1,50) txt,    MTAB_USED_BY_M,MTAB_TYPE
FROM  V$MTAB_USED_HISTORY ORDER BY  MTAB_USED_BY_M DESC;

select sessid,substr(sql_txt,1,40)txt,optimized_sort_cnt,one_way_sort_cnt,multi_way_sort_cnt from v$sql_stat_history order by OPTIMIZED_SORT_CNT+ONE_WAY_SORT_CNT+MULTI_WAY_SORT_CNT desc limit 5;
select thrd_no,exec_id,type$,sort_buf_rows from v$sql_node_history order by SORT_BUF_ROWS desc limit 5;

可能的处理措施:

1、降低sql中排序量

2、修改参数

sql 复制代码
SP_SET_PARA_VALUE(1, 'SORT_BUF_GLOBAL_SIZE', 64000);
SP_SET_PARA_VALUE(1, 'SORT_BUF_SIZE', 256);
重启数据库
相关推荐
stark张宇4 小时前
MySQL 核心内幕:从索引原理、字段选型到日志机制与外键约束,一篇打通数据库任督二脉
数据库·mysql·架构
倔强的石头_4 小时前
融合数据库架构实践:关系型、JSON与全文检索的“一库多能”深度解析
数据库
星辰员7 小时前
KingbaseES数据库:ksql 命令行用户与权限全攻略,从创建到删除
数据库
华仔啊20 小时前
千万别给数据库字段加默认值 null!真的会出问题
java·数据库·后端
随风飘的云2 天前
MySQL的慢查询优化解决思路
数据库
IvorySQL2 天前
PostgreSQL 技术日报 (3月7日)|生态更新与内核性能讨论
数据库·postgresql·开源
赵渝强老师2 天前
【赵渝强老师】金仓数据库的数据文件
数据库·国产数据库·kingbase·金仓数据库
随逸1772 天前
《Milvus向量数据库从入门到实战,手把手搭建语义检索系统》
数据库
神秘的猪头2 天前
🚀 React 开发者进阶:RAG 核心——手把手带你玩转 Milvus 向量数据库
数据库·后端·llm
IvorySQL3 天前
PostgreSQL 技术日报 (3月6日)|为什么 Ctrl-C 在 psql 里让人不安?
数据库·postgresql·开源