|
|
White Paper:
InterPlex
Enterprise Gateway
--
Page 4
pages: 1,
2, 3,
4, 5, 6,
7, 8,
9
Previous
page Next page
Once
the transaction begins executing, the fetch processing begins.
One row of data for a relational view might consists of fields from
many DMS records. During the
fetch processing of a query, multiple rows are buffered to enhance
performance. This way a fetch
request from the DataServer will not necessarily require a DMS fetch
unless the array of rows returned from the mainframe has been exhausted.
Also the max-rows parameter set in
the InterPlex SQL DDP Generalized Front End has been propagated to the
transaction. Once the maximum
row value is fulfilled, the transaction will sit on the InterPlex Common
Bank test and set cell waiting for reactivation.
At this point no CPU or DMS resources are being used until
activation reoccurs.
Another
area that allows for tuning and control is the SQL join function.
InterPlex SQL supports the use of JOINs,
which are a helpful mechanism for use in a relational database.
It allows you to define a query to relate one table to another to
retrieve cross-referenced data. Within
InterPlex, you can use joins to cross-reference the data from available
views but there must be a logical relationship between the views being
joined. That is, an InterPlex
SQL path
must be available for the join query to retrieve the data rows.
The joining of tables, as described
previously, is a powerful technique to create alternate virtual views of
data from a set of base views. When
the InterPlex SQL DMS access module processes a join request, extra passes
at the view descriptions is required.
What actually occurs is the descriptive information is retrieved
for all the views participating in the join.
The descriptive information consists of the column name, the
related DMS record and field names, and path and link details for each
column in the view. Next, all
this data is incorporated into a new temporary view and stored in the
InterPlex SQL internal database. After
this activity is complete, the actual query can begin to execute and data
rows retrieved. A good method
to use, if a user or application executes a particular join repeatedly, is
to create a new view. This
new view would increase the performance and return the same data rows that
a join function returns. Also,
if a join query happens to be very complex, the creation of a new view
eliminates the need to re-invent the query.
InterPlex
SQL views are built using the administration function View Definition.
When defining views, you should remember that the target data
source is a hierarchical DMS database and data fields referenced from
different records must have some logical relationship.
That is, there must be a DMS set or a DMS calc field value to
retrieve all records involved in the view.
When the DMS schema/subschema analysis is run, all the set
relationships are stored as individual links.
InterPlex SQL links and paths
define the access criteria used to retrieve the records and build a row of
data. A link, whether set up
manually or automatically generated during the analysis run, is a single
tie between two records. Downward
links, DMS owner records via set to DMS member records, are generated
during the analysis run. InterPlex SQL paths
are a collection of links
used to retrieve a row of data to satisfy a fetch request.
These links are combined to form a path that is used to access the
data. The path is given a
name, in InterPlex SQL administration, and can be used by subsequent views
defined within the same schema.
Within
InterPlex Enterprise products there are methods and facilities to increase
the performance of query processing.
By default, DMS records which are defined as
location mode is calc
or index
sequential are inherently faster to retrieve if the key
is supplied. This property is
carried forward into the InterPlex SQL access of the DMS database.
That is, if a query supplies a value for a DMS key field by using
the column within a where
clause, InterPlex SQL will retrieve the target row using the DMS
key rather than next of area or set.
|