Reasons for OBIEE Query Not Getting Cached

Embed Size (px)

Citation preview

  • 7/30/2019 Reasons for OBIEE Query Not Getting Cached

    1/1

    OBIEE Cache is enabled, but why is the query not cached?

    Non-cacheable SQL functions: If a request contains certain SQL functions, OBIEE will not cachethe query. The functions are CURRENT_TIMESTAMP, CURRENT_DATE, CURRENT_TIME, RAND, POPULATE.OBIEE will also not cache queries that contain parameter markers.

    Non-cacheable Table: Physical tables in the OBIEE repository can be marked non - cacheable . If aquery makes a reference to a table that has been marked as non-cacheable, then the results are not cachedeven if all other tables are marked as cacheable.

    Query got a cache hit: In general, if the query gets a cache hit on a previously cached query, thenthe results of the current query are not added to the cache. Note: The only exception is the query hits thatare aggregate roll - up hits, will be added to the cache if the nqsconfig.ini parameterPOPULATE_AGGREGATE_ROLLUP_HITS has been set to Yes.

    Caching is not configured: Caching is not enabled in NQSConfig.ini file.

    Result set too big: The query result set may have too many rows, or may consume too many bytes.The row-count limitation is controlled by the MAX_ROWS_PER_CACHE_ENTRY nqsconfig.ini parameter. Thedefault is 100,000 rows. The query result set max-bytes is controlled by the MAX_CACHE_ENTRY_SIZEnqsconfig.ini parameter. The default value is 1 MB. Note: the 1MB default is fairly small. Data typically becomes bigger when it enters OBIEE. This is primarily due to Unicode expansion of strings (a 2x or 4xmultiplier). In addition to Unicode expansion, rows also get wider due to:

    Column alignment (typically double-word alignment), Nullable column representation Pad bytes.

    Bad cache configuration: This should be rare, but if the MAX_CACHE_ENTRY_SIZE parameter isbigger than the DATA_STORAGE_PATHS specified capacity, then nothing can possibly be added to thecache.

    Query execution is cancelled: If the query is cancelled from the presentation server or if atimeout has occurred, cache is not created.

    OBIEE Server is clustered: Only the queries that fall under Cache Seeding family are propagatedthroughout the cluster. Other queries are stored locally. If a query is generated using OBIEE Server node 1,the cache is created on OBIEE Server node 1 and is not propagated to OBIEE Server node 2