Bala
Just stepping back to look at the overall architecture for a moment...
Splitting a large table (say, 100m rows or whatever) into different
segments to allow a higher level of concurrency is a common
requirement, especially on systems with a significant number of
processors and I/O bandwidth. To do this you'd almost always use a
partitioned table/indexes (note: Partitioning is a DB Enterprise
Edition option that you need to buy). Then the ADF application would
only have to look at one "normal" table rather than 50 different ones,
and it also gives the DBA plenty of flexibility for data management.
I realise it may be to late in your development to consider a
significant change like this, but if you do have the opportunity to
move to a partitioned table I would expect it would provide a
significant payback in reduced complexity over the lifetime of the
application.
If you are stuck with the 50 tables, and don't need to update the data
in them through the ADF app, you could consider an Oracle7 style
partition view (uses UNION ALL) which may be what you've tried. You
should get partition elimination in some circumstances, but it's
nothing like as useful as a partitioned table.
HTH
:Simon