Cached Views
First Claim
1. A computer-implemented method comprising:
- causing an engine to receive a query including parameters;
causing the engine to determine if the parameters match cache-defined columns;
if a parameter does not match a cache-defined column, returning a query result satisfied by a view from an underlying database;
if the parameters match the cache-defined columns, causing the engine to determine if an existing cache instance satisfies the query;
if a cache instance does not satisfy the query, causing the engine to create a new cache instance with a view from the underlying database, and returning the query result with the new cache instance;
if the existing cache instance satisfies the query, causing the engine to return the query result with the existing cache instance.
2 Assignments
0 Petitions
Accused Products
Abstract
Embodiments relate to view caching techniques that cache for a limited time, some of the (intermediate) results of a previous query execution, in order to avoid expensive re-computation of query results. Particular embodiments may utilize a cache manager to determine whether information relevant to a subsequent user request can be satisfied by an existing cache instance or view, or whether creation of an additional cache instance is appropriate. At design time, cache defining columns of a view are defined, with user input parameters automatically being cache defining. Cache instances are created for each tuple of literals for the cache defining columns, and for each explicit or implicit group by clause. Certain embodiments may feature enhanced reuse between cache instances, in order to limit memory footprint. Over time a cache instances may be evicted from memory based upon implementation of a policy such as a Least Recently Used (LRU) strategy.
56 Citations
20 Claims
-
1. A computer-implemented method comprising:
-
causing an engine to receive a query including parameters; causing the engine to determine if the parameters match cache-defined columns; if a parameter does not match a cache-defined column, returning a query result satisfied by a view from an underlying database; if the parameters match the cache-defined columns, causing the engine to determine if an existing cache instance satisfies the query; if a cache instance does not satisfy the query, causing the engine to create a new cache instance with a view from the underlying database, and returning the query result with the new cache instance; if the existing cache instance satisfies the query, causing the engine to return the query result with the existing cache instance. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory computer readable storage medium embodying a computer program for performing a method, said method comprising:
-
causing an engine to receive a query including parameters; causing the engine to determine if the parameters match cache-defined columns; if a parameter does not match a cache-defined column, returning a query result satisfied by a view from an underlying database; if the parameters match the cache-defined columns, causing the engine to determine if an existing cache instance satisfies the query; if a cache instance does not satisfy the query, causing the engine to create a new cache instance with a view from the underlying database, and returning the query result with the new cache instance; if the existing cache instance satisfies the query, causing the engine to return the query result with the existing cache instance. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer system comprising:
-
one or more processors; a software program, executable on said computer system, the software program configured to; cause an engine to receive a query including parameters; cause the engine to determine if the parameters match cache-defined columns; if a parameter does not match a cache-defined column, return a query result satisfied by a view from an underlying database; if the parameters match the cache-defined columns, cause the engine to determine if an existing cache instance satisfies the query; if a cache instance does not satisfy the query, cause the engine to create a new cache instance with a view from the underlying database, and return the query result with the new cache instance; if the existing cache instance satisfies the query, cause the engine to return the query result with the existing cache instance. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification