有两台机器,都执行相同的代码我检查了索引,主键都一样,但是其中一台机器A 使用"HASH JOIN, TABLE ACCESS FUN" 没用到索引,速度比较慢
另外一台机器B, 使用了索引"INDEX RANGE SCAN" 速度比较快请问我想在A上面查询的时候 使用这个索引 应该怎么做啊? 检查什么配置? 添加什么命令?
另外一台机器B, 使用了索引"INDEX RANGE SCAN" 速度比较快请问我想在A上面查询的时候 使用这个索引 应该怎么做啊? 检查什么配置? 添加什么命令?
/*+index(tb_name,idx_name)*/
例如:
select /*+index(t,idx_t_id)*/* from t t.id>100 ;看一下是否走索引的开销较低 .然后再进行下一步分析.
SHOW PARAMETER OPTIMIZER_MODEsession的这个参数也可以看一下看看两台机器是否一样
同样的语句,因为优化器的选择不同可能走索引或者不走索引
还有在你的数据库上看看2个机器上的表有没有统计信息。
CBO方式的优化器,如果有统计信息会先用统计信息再用索引的。