为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】: 达梦8
【操作系统】:Linux(CentOS 7)
【CPU】:
【问题描述】*:
错误号: -529
错误消息: 超出全局分组空间,请调整 HAGR_BUF_GLOBAL_SIZE HAGR_BUF_SIZE HAGR_BLK_SIZE
CREATE TABLE "TEST"."ROOM"
(
"ID" BIGINT IDENTITY(1, 1) NOT NULL,
"ROOM_NAME" VARCHAR(255) NOT NULL,
"STATUS" INT DEFAULT 0 NOT NULL,
"ACT_ID" VARCHAR(255),
"PLAN_ID" BIGINT,
"CREATE_TIME" TIMESTAMP(0),
"START_TIME" TIMESTAMP(0),
"TASK_ID" VARCHAR(100),
NOT CLUSTER PRIMARY KEY("ID"),
CONSTRAINT "INDEX_ROOM_ID" UNIQUE("ACT_ID")) STORAGE(ON "MAIN", CLUSTERBTR) ;
CREATE INDEX "ROOM_PLAN_ID" ON "WARN"."ROOM"("PLAN_ID" ASC) STORAGE(ON "MAIN", CLUSTERBTR) ;
CREATE INDEX "ROOM_ID" ON "WARN"."ROOM"("ID" ASC) STORAGE(ON "MAIN", CLUSTERBTR) ;
CREATE UNIQUE INDEX "ACT_ID" ON "WARN"."ROOM"("ACT_ID" ASC) STORAGE(ON "MAIN", CLUSTERBTR) ;
CREATE TABLE "TEST"."ALERT"
(
"ALERT_ID" BIGINT IDENTITY(1, 1) NOT NULL,
"ALERT_TIME" TIMESTAMP(0) NOT NULL,
"ROOM_ID" BIGINT NOT NULL,
"ALERT_TEXT" TEXT,
"USER_ID" VARCHAR(255),
"PROCESS_STATUS" INT DEFAULT 0 NOT NULL,
"PROCESS_TIME" TIMESTAMP(0),
"ALERT_TYPE" VARCHAR(255) NOT NULL,
"MP3_URL" VARCHAR(255),
"KEYWORD" VARCHAR(255),
NOT CLUSTER PRIMARY KEY("ALERT_ID")) STORAGE(ON "MAIN", CLUSTERBTR) ;
CREATE INDEX "ALERT_ALERT_TYPE" ON "WARN"."ALERT"("ALERT_TYPE" ASC) STORAGE(ON "MAIN", CLUSTERBTR) ;
CREATE INDEX "ALERT_ROOM_ID" ON "WARN"."ALERT"("ROOM_ID" ASC) STORAGE(ON "MAIN", CLUSTERBTR) ;
CREATE UNIQUE INDEX "ALERT_ALERT_ID" ON "WARN"."ALERT"("ALERT_ID" ASC) STORAGE(ON "MAIN", CLUSTERBTR) ;
SELECT
r.id AS id,
r.room_name AS roomName,
r.status AS status,
r.act_id AS actId,
r.plan_id AS planId,
COUNT(a.room_id) AS alertNumber
FROM TEST.room r LEFT JOIN TEST.alert a ON r.id = a.room_id
GROUP BY r.id,r.room_name,r.status,r.act_id,r.plan_id,a.room_id
ORDER BY r.id DESC;
可以收集下这两张表的统计信息,再看下执行计划有没有变化
您可以尝试调大dm.ini里HAGR_BUF_GLOBAL_SIZE HAGR_BUF_SIZE HAGR_BLK_SIZE这两个参数,如果是测试库直接重启数据库即可。