为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
- 【TiDB 版本】:5.7.25-TiDB-v3.0.2
- 【 集群节点分布 】 tidb集群:两个tidb,三个tikv,三个pd
- 【问题描述】:窗口函数rank和lag加了partition by就报 “ runtime error: index out of range ”错误
若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出打印结果,请务必全选并复制粘贴上传。
加了partition by分组后开始报错,rank窗口函数也是同样的问题,row_number函数没有问题
涉及敏感数据,做了一个测试表
建表语句:
CREATE TABLE kkk
(
id
bigint(20) DEFAULT NULL,
name
varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
sql语句: SELECT id,name,lag(id/id,1,0) OVER ( PARTITION BY name
ORDER BY id ) from kkk;
数据量30W时会出现
但是有时候执行会成功,不是每次都runtime error: index out of range
在github上找到一篇文章
https://github.com/pingcap/tidb/issues/11612
不知道是不是同一个问题