When you read data from an Oracle source, transform the data, and write the data to a target, you can configure SQL ELT optimization to push the transformation logic to the source or target database system. If the source and target databases are the same, you can configure full SQL ELT optimization for improved performance.
When the Secure Agent applies SQL ELT optimization, it pushes transformation logic to a database. The Secure Agent translates the transformation logic into SQL queries and sends the SQL queries to the database. The database runs the SQL queries to process the transformations.
SQL ELT optimization improves mapping performance when the database can process the transformation logic faster than the Secure Agent. The Secure Agent also reads less data from the database.
The amount of transformation logic that the Secure Agent pushes to the database depends on the database, the transformation logic, and the mapping task. The Secure Agent processes all transformation logic that it cannot push to a database.
When you configure SQL ELT optimization for the mapping, the Secure Agent analyzes the optimized mapping from the source to the target or until it reaches a downstream transformation that it cannot push to the source database. The Secure Agent generates and executes a SELECT statement for each source that has transformation logic pushed down. Then, it reads the results of this SQL query and processes the remaining transformations in the mapping.
Note: When you push transformation logic to the database, ensure that the database has enough resources to process the queries faster. Otherwise, there could be a performance degradation.
You cannot configure SQL ELT optimization for a mapping in advanced mode.
The Secure Agent can push the following transformation logic to an Oracle source or target:
Transformations
Supported SQL ELT optimization Type
Aggregator
Source, Full
Expression
Source, Full
Filter
Source, Full
Joiner
Source, Full
Sorter
Source, Full
Union
Source, Full
Router
Full
Full SQL ELT optimization
When the Secure Agent applies full SQL ELT optimization, it pushes all the transformation logic in the mapping to the target database.You can configure full SQL ELT optimization in the SQL ELT Optimization section.
Full SQL ELT optimization is ideal when the source and target are in the same connections. For example, if a mapping contains an Oracle source and an Oracle target, configure full SQL ELT optimization to push all the transformation logic for processing from an Oracle source database to an Oracle target database.
Source SQL ELT optimization
When the Secure Agent applies source SQL ELT optimization, it analyzes the mapping from source to target or until it reaches a downstream transformation it can't push to the source database.
The Secure Agent generates and executes a SELECT statement based on the transformation logic for each transformation it can push to the database. Then, it reads the results of this SQL query and processes the remaining transformations.
You can configure a mapping to use source SQL ELT optimization if the source and target reside in different databases. For example, if a mapping contains an Oarcle source and a Microsoft SQL Server target, you can configure source SQL ELT optimization to push some transformation logic for processing to the Oracle source.
SQL ELT optimization functions
When you use SQL ELT optimization, the Secure Agent converts the expression in the transformation by determining equivalent functions and pushes down the expression to process in the database. If there is no equivalent function in the database, the Secure Agent processes the transformation logic.
The following table summarizes the availability of SQL ELT optimization functions in Oracle:
Functions
SQL ELT optimization Type
ABS()
Source, Full
AVG()
Source, Full
COS()
Source, Full
COUNT()
Source, Full
DATE_COMPARE()
Source, Full
DECODE()
Source, Full
EXP()
Source, Full
IIF()
Source, Full
IN()
Source, Full
ISNULL()
Source, Full
LOWER()
Source, Full
MAX()
Source, Full
MIN()
Source, Full
POWER()
Source, Full
SIN()
Source, Full
SQRT()
Source, Full
SUM()
Source, Full
TAN()
Source, Full
UPPER()
Source, Full
Supported functions for Expression transformation
When you configure SQL ELT optimization using an Expression transformation, the Secure Agent tries to push the configured Expression transformation to Oracle.
The following table summarizes the availability of SQL ELT optimization functions in an Expression transformation in Oracle:
Functions
SQL ELT optimization Type
ADD_TO_DATE()
Full
CEIL()
Full
CONCAT()
Full
COSH()
Full
DATE_COMPARE()
Full
FLOOR()
Full
GET_DATE_PART()
Full
INSTR()
Full
LENGTH()
Full
LOG()
Full
LTRIM()
Full
MOD()
Full
ROUND(NUMBER)
Full
RTRIM()
Full
SIGN()
Full
SINH()
Full
STDDEV()
Full
SUBSTR()
Full
SYSDATE()
Full
SYSTIMESTAMP()
Full
TANH()
Full
TO_BIGINT
Full
TO_CHAR(DATE)
Full
TO_CHAR(NUMBER)
Full
TO_DATE()
Full
TO_DECIMAL()
Full
TO_FLOAT()
Full
TO_INTEGER()
Full
TRUNC(NUMBER)
Full
VARIANCE()
Full
Configuring SQL ELT optimization
To optimize a mapping, add the mapping to a task, and then configure SQL ELT optimization in the mapping task.
1In the Runtime Options page of the Mapping task, navigate to the SQL ELT Optimization section.
2From the SQL ELT Optimization list, select the required type of SQL ELT optimization.
Cross-schema SQL ELT Optimization
You can use cross-schema SQL ELT Optimization for a mapping task to read from or write data to Oracle objects associated with different schemas within the same database.
To use cross-schema SQL ELT Optimization, create two Oracle connections and specify the schema in each connection. Ensure that the schema in the source connection is different from the schema in the target connection, but both the schemas must belong to the same database. When you configure SQL ELT Optimization for the mapping task, enable cross-schema SQL ELT Optimization in the advanced session properties. By default, the check box is selected.
Configuring cross-schema SQL ELT Optimization
Consider the following steps to configure cross-schema SQL ELT Optimization for an Oracle mapping task:
1Create the following two Oracle connections, each defined with a different schema:
aCreate an orc_1 Oracle connection and specify CQA_SCHEMA1 schema in the connection properties.
bCreate orc_2 Oracle connection and specify CQA_SCHEMA2 schema in the connection properties.
2Create an Oracle mapping, m_Orc_pdo_acrossSchema. Perform the following tasks:
aAdd a Source transformation and include an Oracle source object and connection orc1 to read data using CQA_SCHEMA1.
bAdd a Target transformation and include an Oracle target object and connection orc2 to write data using CQA_SCHEMA2.
3Create an Oracle mapping task, and perform the following tasks:
aSelect the configured Oracle mapping, m_Orc_pdo_acrossSchema.
bOn the Runtime Options tab, in the SQL ELT Optimization section, set the SQL ELT Optimization value to Full.
cIn the Advanced Session Properties section, select the Enable cross-schema SQL ELT Optimization check box.
dSave the task and click Finish.
When you run the mapping task, the Secure Agent reads data from the Oracle source object associated with the CQA_SCHEMA1 schema and writes data to the Oracle target object associated with CQA_SCHEMA2 schema.