MAXFORMULACACHESIZE

The MAXFORMULACACHESIZE configuration setting enables you to set the maximum virtual volume of the formula cache Essbase should make available for calculating members with formulas. To limit how much memory may be used by a single query, use MAXFORMULACACHEMEMORYLIMIT instead.

MAXFORMULACACHESIZE configuration applies to aggregate storage (ASO) databases and block storage (BSO) databases in hybrid mode.

Syntax

MAXFORMULACACHESIZE [appname [dbname]] n
  • appname—Optional. To set the maximum cache virtual volume for a specific application, specifiy the application name.

  • dbname—Optional. To set the maximum cache virtual volume for a specific database (cube), specifiy the cube name. If dbname is specified, appname must also be specified.

  • n—An integer that specifies the number of megabytes to set as the maximum cache virtual volume to be made available for calculating members with formulas.

Description

If the amount of cache Essbase sets aside for calculating outline members is insufficient, Essbase switches its formula cache mechanism to allocate only existing and temporary cache values. If this occurs and query tracing is enabled, the following message is logged in query_trace.txt:

Max formula cache size overflow. Calculation cache will use map structure for values. If query performance is insufficient try to extend MAXFORMULACACHESIZE over this limit: n

The following guidelines can help you determine what value to use for n:

  1. Identify which queried dimensions are represented by dynamic members.

  2. Multiply the sizes of those dimensions to get a number of members.

  3. Multiply the number of members by 8 to get the recommended n value (not more than 4G).

For example, the default formula cache size of 1024 allows 1024/8=128 members to be in the cache's virtual volume.

Notes

  • This setting is only relevant if your query references at least one dynamic member with a formula, or if your MDX query has a calculated member in the WITH section.

  • This cache is allocated per calculation thread. Concurrent MDX requests can be allocated multiple cache objects, each with a maximum virtual volume specified in MAXFORMULACACHESIZE.

  • The entire specified amount is not used unless needed.

  • The memory is released after the query completes.

Example

MAXFORMULACACHESIZE 2048

Sets the formula cache's maximum virtual volume to 2048.