我正在使用 Oracle 11g。我有一个使用数据库链接将本地表与远程表连接起来的查询。我希望驱动表成为远程表,因为我主要使用远程表进行过滤以获取几行。然后我想加入他们与本地表。
问题是优化器忽略了 ORDERED 和 INDEX 提示,并对本地表进行全表扫描。我正在使用正确的索引并生成了统计信息。我对使用正确索引的每个表单独运行查询,但是通过连接,本地表始终执行全表扫描并充当驱动表。
SELECT /*+ INDEX_RS_ASC(l) */
*
FROM remote_table@mylink r
JOIN local_table l USING (cont_id)
WHERE r.PRIME_VENDOR_ID = '12345'