db_user
(Db User)
2021 年8 月 23 日 03:41
1
为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:
【 TiDB 使用环境】
linux
【概述】 场景 + 问题概述
一条sql查询在4.0.0是正常的,在4.0.14出现报错
查询客户端报错:ERROR 1105 (HY000): runtime error: index out of range [2] with length 2
日志显示:panic in the recoverable goroutine
同样的sql在4.0.0没有出现报错,4.0.14报错,二者的explain不一致,explain analyze在4.0.14会报错
详细报错信息如下
【背景】 做过哪些操作
【现象】 业务和数据库现象
【问题】 当前遇到的问题
【业务影响】
【TiDB 版本】
4.0.14
【应用软件及版本】
【附件】 相关日志及配置信息
TiUP Cluster Display 信息
TiUP CLuster Edit config 信息
监控(https://metricstool.pingcap.com/ )
TiDB-Overview Grafana监控
TiDB Grafana 监控
TiKV Grafana 监控
PD Grafana 监控
对应模块日志(包含问题前后 1 小时日志)
若提问为性能优化、故障排查 类问题,请下载脚本 运行。终端输出的打印结果,请务必全选 并复制粘贴上传。
1 个赞
spc_monkey
(carry@pingcap.com)
2021 年8 月 23 日 07:21
3
最好提供一下具体的 SQL TEXT,另外,能使用 hint 的方式,换一下关联方式吗(最好执行计划也发一下)
1 个赞
db_user
(Db User)
2021 年8 月 25 日 05:43
5
抱歉这么晚回复,因为需要对字段及表脱敏,不知道您这还能否看出问题来,如果看不出来的话我再想办法看看能否复现吧,主要想知道排查思路
2 个赞
yilong
(yi888long)
2021 年9 月 1 日 03:27
6
如果不方便给完整的sql和表结构,可以尝试一个最小复现的步骤,多谢。
1 个赞
Kongdom
(Kongdom)
2021 年9 月 1 日 09:29
7
会不会是date函数的原因?
group by怎么是5个?不应该是3个么?有2个常量
1 个赞
- 如果你的问题已解决:
- 如果你自己排查解决了,请附上你的解决方案,对自己的方案标记【对我有用】。
- 如果别人帮助你解决了问题,那么请选择【最有价值】的回复,标记为【对我有用】,对帮助你的人,也是一种嘉奖和赞赏。
- 被标记了【对我有用】的问题,才能被搜索到,这样子也能帮助他人更高效地找到答案。标记了【对我有用】还能获得 5 积分,5 经验值。
- 如果你的问题还没有解决,请继续追问及反馈你遇到的问题。
1 个赞
db_user
(Db User)
2022 年1 月 5 日 02:24
9
终于破案了,是因为两个表的排序规则不一样,m1表采用了utf8mb4_bin的排序规则,m3表采用了utf8mb4_general_ci的排序规则,两个表的排序规则不一致,进行left join导致的这个bug,感谢上面所有大佬的支持,非常感谢
3 个赞
疾风之狼
(疾风之狼)
2022 年2 月 7 日 02:14
10
有几个疑问:1、你是怎么发现两个表的排序规则不一样的?
2、一般来说,建表和建索引都是使用数据库默认的字符集和排序规则吧?莫非你自己手工设置了字符集?
db_user
(Db User)
2022 年2 月 7 日 02:32
11
1.我觉得关联可能出现问题的几个方向,执行计划不对,浮点数精度不对,排序规则不一致等,一样样排查,最后发现了是排序规则的问题,新建了个相同排序规则的表就一样了
2.是走的库级别指定的字符集和排序规则,但是整体是从mysql迁移过来的,我入职前就是不同的排序规则,所以没做调整
疾风之狼
(疾风之狼)
2022 年2 月 7 日 02:40
12
以前还没遇到这样的问题,按说你们之前用MySQL,一般默认也是用默认的排序规则吧,看来应该是你之前的哥们指定了排序规则了。
db_user
(Db User)
关闭
2022 年10 月 31 日 19:03
14
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。