Changes to logical databases are immediately visible in all of the programs that use them. This allows you totune the performance of the Open SQL statements for all of these programs in one place. One way of improving performance is to allow the user to specify exactly what data should be read from the logical database.
You can use the following techniques to improve performance:
·Static selection criteria and parameters on the selection screen, possibly with default values and value lists defined in the logical database.
·ABAP Dictionary views, or other methods that minimize the number of database reads
There are no hard and fast rules for how to optimize a logical database, since what you can do depends heavily on the data you want to read. The following are therefore only general points that you can nevertheless observe when optimizing logical databases:
If, for example, one line of a database table at one level of the structure includes exactly one line of the database table at the next level (case A), other optimizations may make more sense for a 1:100 or 1:1000 ratio (case B).
In case A, you can improve the response time by using database views.
In case B, you can use internal tables. The data is read by the database into an internal table. The internal table can then be processed within the logical database. You could also use joins or cursor processing.
-You can use the table GET_EVENTS in the logical database program. When you have generated an executable program that uses the logical database, this table contains information about each node in the structure, and whether the corresponding GET statement appears in the program or not.
-In the selections of the logical database, you should use the statement
SELECTION-SCREEN FIELD SELECTION FOR NODE|TABLE <node>.
to allow field selections for all suitable nodes <node>. You can then use a field list in the corresponding SELECT statements instead of having to read the entire line.