远程数据库的表超过20个索引的影响详细解析

技术教程 2026-01-08 16:15:04 浏览
数据库

1. 对于通过dblink关联本地表和远程表,如果远程表的索引个数少于20个,那么不受影响。2. 对于通过dblink关联本地表和远程表,如果远程表的索引个数增加到21个或以上,那么oRACle在执行远程操作的时候,将忽略最早创建的那个索引,但是会以20个为窗口移动,最新建立的索引会被意识到。此时如果查询的关联条件中,使用到最早创建的那个索引的字段,由于忽略了索引,会走全表扫描。3. 要“唤醒”对原来索引的意识,rebuild索引无效,需要drop & create索引。4. 在本地表数据量比较少,远程表的数据量很大,而索引数量超过20个,且关联条件的字段时最早索引的情况下,可以考虑使用DRIVING_SITE的hint,将本地表的数据全量到远程中,此时远程的关联查询可以意识到那个索引。可见文末的例子。是否使用hint,需要评估本地表数据全量推送到远程的成本,和远程表使用全表扫的成本。

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐