Reducing Network Traffic (Magic xpa 4.x)
Reducing network traffic is the best way to improve performance.
Follow these guidelines to reduce traffic on the network:
-
Select only the fields you really need from the record. Only those fields will be received from the database.
-
Use ranges that can be sent to the database instead of a Task Range.
-
Use Link Inner Join/Left Outer Join instead of Link Query.
-
Use Database Views instead of links, when possible.
Using RDBMS views instead of simple tables can improve performance when joining tables. Magic xpa’s Link operation is implemented by issuing a separate SELECT statement to the database for every linked table. Batch tasks can be performed more efficiently by using a view that joins the main file and the linked files or by using Magic xpa’s Link Inner Join/Left Outer Join operation instead of Link Query. Let the database do the join.
Note:
|
There are differences in how Magic xpa and RDBMSs use the term view.
|
|
-
Magic xpa uses the term view to describe the fields selected from the main file together with fields selected from the linked files and virtual fields.
-
SQL databases use the term view to describe a pre-defined SELECT statement saved in the internal Data Dictionary and used as a table. The view definition can join several tables, use statistical functions, and use a WHERE clause to select part of the records in the table.
|
|
Updates on views are sometimes restricted by database limitations.
|
Example:
|
There is a task with a main file containing 10,000 records and three linked files. If performed in the usual way (using Link Query), the number of SELECT cursors opened by the task would be: 1 + 3* 10,000 = 30,001.
If you use Magic xpa’s Link Inner Join/Left Outer Join operations instead of Link Query, the number of SELECT statements executed by the task would be: 1.
If you define a DB view in the database, the number of SELECT statements executed by the task would be: 1.
|