Inner Joins vs For all Entries.
I have to code with some tables which contain vary large amount of data. Can you please explain the cases where I should use inner joins over for all entries or vice versa, to get better performance..? Is it true that for all entries does not function properly for more than 60000 records?
Siegfried Boes replied
> The internal table is the result of a procedural approach in retrieval of data.
not really, an internal table actually keeps the data you are working with, very often this can be input data! And the main idea of the FAE is to read additional information for these inputs.
The default recommendation for improvement of nested selects is a join. The join uses in most cases a nested loop on the database, which is more or less the same as the FAE but it is inside the database and therefore faster !
Unfortunately, joins can get confused. And that is the point, where the people with the repeated recommendation 'Use FAE', get lost. I think the simply don't understand much about databases. If this happens, there is usually a simple solution to bring the join back on track.
Joins can offer Sort Merge Joins or Hashed Joins, but these usually the complicated cases, which are slow. But in these cases FAEs should not work at all anymore, they would have to transfer to much data.
Join on two internal tables are not possible, that's what I meant. And FAE can be seen as a join between a database table and an internal table, and some database implement it as a join.
Coming back to the original question, with a huge number of data, IT MUST BE IMPLEMENTED AS A JOIN!!!