MemoryManagerStrategy
Key Name | Default Value | Required |
---|---|---|
|
|
No |
Description
This option specifies the following connector behavior for executing SQL operations on non-SQL data:
- How the connector restricts RAM usage for individual SQL operations.
- How the connector responds when SQL operations require more RAM than the allotted amount.
- Whether to maximize the performance of fewer operations or to support more concurrent operations.
The total amount of RAM that can be used by all concurrent operations is always determined by the memory limit (the MemoryManagerMemoryLimit
setting).
Set the key to one of the following values:
1
: Each operation is allotted an amount of RAM based on an internal calculation. If an operation requires more RAM than the allotted amount or if the memory limit is reached, then the connector stops the operation or operations and returns an out-of-memory error. This setting is recommended for situations where the connector should not write to disk, such as in cloud deployments.2
: Each operation is allotted an amount of RAM based on an internal calculation. If an operation requires more RAM than the allotted amount or if the memory limit is reached, then the connector creates swap files on disk and moves some of the cached data to those files in order to free up memory and continue the operation or operations. This setting is recommended if you need to run multiple concurrent queries with good performance.3
: The first operation can consume as much RAM as necessary from the amounts specified by the memory limit and threshold, while subsequent operations use the remaining amount. If the memory limit or threshold is reached, then the connector creates swap files on disk and moves some of the cached data to those files in order to free up memory and continue the operation or operations. This setting is recommended if you need to maximize performance for a single query.