今天开发,搞了半天关于Oracle索引的问题,记录

今天开发使用两张不同的表,这两张表的索引相同,去分别关联另外两张表,但是走的索引不同,不太明白其中的原理。

使用的EXCH_AIR_MATCHED表,表中的所有如下:

今天开发,搞了半天关于Oracle索引的问题,记录

 

 使用的EXCH_OTHER表,表中的索引如下:

今天开发,搞了半天关于Oracle索引的问题,记录

 

 使用EXCH_AIR_MATCHED关联的查询解释计划

今天开发,搞了半天关于Oracle索引的问题,记录

 

 使用EXCH_OTHER关联的解释计划

今天开发,搞了半天关于Oracle索引的问题,记录

 

 而在EXCH_OTHER表使用了hint后的解释计划

今天开发,搞了半天关于Oracle索引的问题,记录

 

 *这里需要注意EXCH_OTHER表使用hint需要把原来使用inner join关联,改为直接关联才可以使用视图的hint

我认为其中的原因应该是表中数据量的问题,Oracle可能不认为是最优的索引。

 

参考的文档:

Oracle使用hint的对比 https://www.cnblogs.com/emilyyoucan/p/7873041.html

Oracle使用hint介绍 https://blog.csdn.net/weixin_39769183/article/details/116446826

上一篇:Java加密程序


下一篇:AK F.*ing leetcode 流浪计划之前缀和