我有一个 table_A (C1,C2,C3,.....,Cn, 日期戳)
注意:列 datestamp 已编入索引
QRY1
select * from
(select max(datestamp) dates from table_A) t,
table_A
where a.datestamp = t.dates
QRY2
select * from (
select a.* , max (datestamp) over() dates from table_A a))
where datestamp = dates
使用索引扫描(在 1 秒内执行)解释 QRY1 的 Paln 成本非常低。
但是对于 QRY2 进行全表扫描(在 8 秒内执行)的成本非常高。
只是想知道为什么分析函数会忽略索引。
谢谢(我使用 PL/SQL Oracle 10g)