oracle hints 优化器 /*+full(t)*/在测试环境生效,使用了全表扫描;生产环境不生效,仍然走了索引

背景:
测试环境:oracle 19c;
生产环境:oracle 11g;
bonddesc表在生产环境和测试环境是一样的,数据量以及索引都是一致的
现象:
最近想做一下sql性能优化,但是很奇怪的现象是,同一条sql:SELECT /+full(t)/ * FROM bonddesc t WHERE t.s_info_windcode = '166661.SH'
在测试环境测试的时候是可以全表扫描;而生产环境仍然走的是索引,就很奇怪,有牛人知道有什么情况会导致上面这种现象

因为CBO觉得你加的这个hint太离谱了,消耗成本过高,因此它自行选择了成本更低的方式。
你可以先尝试一下更新这个表的统计信息再试,如果依旧没有full,说明可能的确不适合用full
另外,不同版本的数据库,CBO算法不完全一样

盲猜大概是sql语法不兼容