0
我在Oracle数据库中创建了两个表,我在查询中使用它们,如下所示。一个表有索引,另一个表不是关于Oracle索引的查询
select * from (
select * from table_with_an_index
union all
select * from table_without_an_index
)first_table
join second_table
where first_table.index_col=second_table.col
我的问题是,在上面的查询中,第一个表的索引将被使用?或者它会先将两个表中的记录存储在内存中,然后应用过滤器而不使用第一个表的索引?
我在网上搜索了这个,我无法得到正确的答案。任何线索将不胜感激
请给一个理由也是,谁被否决 –
人我不认为任何索引将被使用,如果有一个索引(table_with_an_index)的唯一表得到一个SELECT * –
如果你想使用索引,首先进行连接,然后再进行联合。但是这里的表演也取决于每个表格的行数。 – Steven