You can try filtering by item type before joining your tables, as shown here.
If you work with Oracle prior to 9i, this sometimes provides amazing benefits.
select c.claimnumber, a.itemdate, c.dtn, b.filepath from ( select itemdate from items it where it.itemtype in(112,115,189,241) ) a itempages b, keygroupdata c where a.itemnum = b.itemnum and b.itemnum = c.itemnum
You can also try adding the hints / + RULE / or / + ORDERED / to see what happens ... again, especially with older versions, this sometimes gave amazing results.
SELECT c.ClaimNumber, a.ItemDate, c.DTN, b.FilePath FROM items a, itempages b, keygroupdata c WHERE a.ItemType IN (112,115,189,241) AND a.ItemNum = b.ItemNum AND b.ItemNum = c.ItemNum ORDER BY a.DateStored DESC
source share