I have a table_A (C1,C2,C3,.....,Cn, datestamp)
Note : Column datestamp is indexed
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
Explain Paln of QRY1 using indexed scan (execyted in 1 sec) cost was very less.
しかし、完全なテーブル スキャン (8 秒で実行) を行う QRY2 の場合、コストが非常に高くなりました。
分析関数がインデックスを無視する理由を知りたかっただけです。
ありがとうございます (私は PL/SQL Oracle 10g を使用しています)