【 使用环境 】生产环境
【 OB or 其他组件 】
【 使用版本 4.3.5
【问题描述】
参数 仅有id的 in个数不一致
WHERE
s.id IN (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
如上。2个sql样本仅传入的参数不同,sqlId不一致。导致调整执行计划时。无法统一调整。
已知参数 cursor_sharing为 FORCE
【 使用环境 】生产环境
【 OB or 其他组件 】
【 使用版本 4.3.5
【问题描述】
参数 仅有id的 in个数不一致
WHERE
s.id IN (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
如上。2个sql样本仅传入的参数不同,sqlId不一致。导致调整执行计划时。无法统一调整。
已知参数 cursor_sharing为 FORCE
没生效吧
参数没生效? 这个参数一直是这个默认值。
IN (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)的参数个数一致么
SHOW VARIABLES like ‘version_comment’; 查一下 具体版本信息
in的参数不一样 两个文本 应该也是不一样的
相同文本的 SQL 的 SQL_ID 总是相同的 所以不同的文本下 sql_id也是不一样的
sql_Id不一致,调整执行计划时,确实无法统一调整的。你可以看看能否使用hint的方式,绑定一下。
不一致
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004479547
你可以看看format_sql_id 是否一致 如果一致也可以使用 FORMAT_SQL_ID绑定执行计划
https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000005438226?back=kb
你看看我上面发的 format_sql_id 你看看这样的方式是否可以
用format sql id来绑定,有format outline
学习下
学习下,感觉执行计划应该都一样吧,保是In里面的个数不一样就算两个执行计划么
是否有确定 format_sql_id是否一样 看一下绑定outline是否生效