各位大哥!请帮忙看一下这个报错

部署的版本是tidb的V6.5.0,然后启动后,日志一直报错


说里面有一个sql语句,这个sql 有一个子查询类似
select * from a where name =(select name_b from b)这种

error 复制一下出来看看

随便你也把你的 SQL 发一下~

[2024/09/25 17:44:27.781 +08:00] [ERROR] [optimistic.go:139] [“failed init txnStartTS with MaxUint64”] [error=“cannot force prepare const start ts because txn is active”] [conn=5181140682638663905] [text=“select custom_name from item_type where it_id=(select i_id from channel_info dci where channel_pk = ‘test0001’)”]

这个是报错,报错里面就带着一个sql

把你的问题问了下tidb ai 可以参考下

错误信息“[error] [optimistic。go:139] [" failed init txnStartTS with MaxUint64 "] [error= " cannot force prepare const start ts because txn is active “]”在TiDB版本6.5.0中指出了一个与事务管理相关的问题,特别是在事务已经激活时初始化事务开始时间戳(txnStartTS)。这可能发生在涉及子查询的场景中,就像SQL查询一样。

在TiDB版本6.5.0中,子查询存在一些已知问题,可能导致错误或意外行为。以下是针对子查询相关错误的一些潜在解决方案或变通方法:

为子查询禁用计划缓存:TiDB版本6.5.0有一个已知的问题,即计划缓存可能导致子查询出现问题。为包含子查询的语句禁用计划缓存可能有助于避免此类错误1。

重写SQL:如果错误发生在特定的SQL语句中,请考虑使用不同的执行操作符将SQL语句重写为等效的形式。这可能有助于绕过error2。

升级到较新版本:如果可能,请考虑升级到解决子查询问题的较新版本的TiDB。例如,TiDB版本6.5.4引入了与子查询相关的改进和修复。

联系支持:如果问题仍然存在,请考虑联系TiDB支持以获得进一步帮助,特别是在错误影响关键操作的情况下。

通过应用这些策略,您可以减轻TiDB version 6.5.0中与子查询相关的错误的影响。

乐观锁么还是啥

看起来时间戳初始化有问题,tidb中执行这个SQL报什么错误吗,启动前修改什么配置吗

感谢大哥,已经好了,吧sql修改了一下

sql有问题

时间戳这快没有修改过什么

此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。