SQL provider execution strategies

Version:

There are two kinds of supported SQL strategies:

  • Staging Tables strategy - this strategy has limited Scalable Reads support. The Staging Table strategy is for batch support with AlwaysEncrypted. It is required to perform an intermediate write operation into the service staging table when getting contacts by identifiers.

    Note

    If you specify the explicit ReadPreference.AllowStaleData option, all the Get operations by identifiers throw an exception.

  • Table Value Parameters (TVP) strategy (default) - this strategy does not use an intermediate write, so Scalable Reads is fully supported.

The following table describes the available Get operations of the two SQL provider execution strategies:

Get operationsStaging Table strategyTVP strategy
Get contact IDs by identifiersNoYes
Get contacts by identifiersNoYes
Get contacts by IDsYesYes
Get device profile by IDsYesYes
Get interactions by contact IDsYesYes
Get interactions by IDsYesYes
Note

Whenever you configure the Staging Table strategy, and the client tries to get contacts by identifiers, the SQL Provider throws an exception.

If you have suggestions for improving this article, let us know!