How the Check No Match Property Impacts Performance
This topic is part of Guidelines for Business Objects Layer.
In most cases, the Check No Match property of a Multi Value Link
object definition (used to implement Primary ID fields) must be set
to FALSE
. Setting the Check No Match property to TRUE
could negatively impact performance, especially in
situations where most parent records do not have child records defined
in an MVG.
The Check No Match property defines whether a separate query must be used to populate an MVG when no child record is found through a primary join.
When Check No Match is set to
FALSE
, the application does the following:If a parent record's Primary ID field is invalid or has the value of NULL, then a secondary query is performed to determine whether there are child records in the MVG. If there are no child records, then the Primary ID field is set to the value NoMatchRowId.
If a parent record's Primary ID field has the value NoMatchRowId, then the application does not perform a secondary query, because NoMatchRowId indicates that there are no child records in the MVG. Avoiding these extra SQL queries improves performance.
Note: NoMatchRowId is not a permanent setting; the Primary ID field can be updated after it is set to NoMatchRowId.When Check No Match is set to
TRUE
, a separate SQL query is executed for each parent record in which the primary join did not find a primary child record. Doing this ensures that the multi-value field does not appear blank unless there are no child records. But executing these extra SQL queries decreases performance.It is appropriate to set the Check No Match property to
TRUE
in the following cases:When the multi-value group allows records to be added without having to go through the MVG. For example, account addresses might actually be inserted through the Business Address multi-value group on the Contact business component instead of the Account business component.
When records can be added to a detail business component through Siebel EIM.
For more information about configuring Multi Value Link object definitions, see Configuring Siebel Business Applications.