Preventing Full Table Scans in the Absence of Keys
If a target table does not have a primary key, a unique key, or a unique index, Replicat uses all of the columns to build its WHERE
clause. This is, essentially, a full table scan.
To make row selection more efficient, use a KEYCOLS
clause in the TABLE
and MAP
statements to identify one or more columns as unique. Replicat will use the specified columns as a key. The following example shows a KEYCOLS
clause in a TABLE
statement:
TABLE hr.emp, KEYCOLS (FIRST_NAME, LAST_NAME, DOB, ID_NO);
For usage guidelines and syntax, see the TABLE
and MAP
parameters in Parameters and Functions Reference
for Oracle GoldenGate.