贴全一点啊,为啥不贴全呢
hint INL_JOIN
打个卡看看
等待大神
Analyze version 也需要为 2 ,然后收集统计信息。
t表和t2表没有关联条件吗?
这不等于t的部分数据与t2做笛卡尔积吗?
f1_6511 = f1_6757
这个不大敢搞啊,从低版本升上来的,之前尝试在多个版本设置 Analyze version 为2 , 都会导致tidb server OOM
limit 1是有特定的要求吗?
没有要求,只是表示嵌套的子查询返回的数据量很小,且可以快速返回
改成join试试
加个on 1 = 1,试试
limit有可能会产生不稳定的结果集。
可以尝试将in后面的子查询作为一个临时表放到from后面,然后把in改成join看看执行计划会不会更优。
改成inner join试下
SELECT t.*
FROM wind.TB_OBJECT_6757 t
INNER JOIN wind.tb_object_6511 t2 ON f1_6511 = f1_6757
INNER JOIN (
SELECT REC_ID
FROM wind_replicator.wind_tb_object_6757_oplog
LIMIT 1
) AS oplog ON t.ob_object_id = oplog.REC_ID
WHERE f9_6757 = 1 AND f3_6511 = '2010400017';
都是大神
内连接试了吗,感觉不太合理
这么多天了这个问题还在,等待大神
可以把 in 换成 = 试试
改成exist吧
执行计划没变化,继续TB6511全表扫描