Liquid data services
First Claim
1. A computer-readable storage medium storing one or more sequences of instructions for preparing a query plan for tuning a service, which instructions, when executed by one or more processors, cause the one or more processors to carry out the steps of:
- receiving a query from a portal application to be executed against a system, said query associated with a service model, wherein the service model provides a plurality of structured views of available services to the portal application;
determining at least one of a plurality of ways capable of satisfying the query, wherein at least one of the plurality of ways includes accessing at least two tables in a database;
selecting, from the plurality of ways to satisfy the query, a preferred way for satisfying the query and meeting a performance criteria wherein selecting includes determining whether speed of query execution is more important than memory usage by employing parameters that correlate the relative importance of speed, memory and resource usage on the system that the query is executed against wherein selecting the preferred way for satisfying the query includes;
if speed is determined to be more important than memory usage;
retrieving both of said at least two tables from the database and writing said at least two tables into memory;
if speed is determined not to be more important than memory usage;
determining whether memory capacity is constrained by only one of said at least two tables and if the memory capacity is constrained by only one of said at least two tables, then retrieving a smaller table of said two tables from the database and writing said smaller table into the memory;
otherwise, if speed is determined not to be more important than memory usage and if both tables are too large to be brought into the memory;
requesting values from each of said at least two tables as needed from the database;
generating the query plan and providing the preferred way as at least a portion of the query plan; and
accessing a service according to the query plan to receive a result set, wherein the result set is mapped to one of the plurality of structured views that is specifically suited to the format of the portal application that has submitted the query.
2 Assignments
0 Petitions
Accused Products
Abstract
In accordance with embodiments of the present invention, there are provided mechanisms and methods for using query plans for building and performance tuning services accessed on behalf of a requestor. These mechanisms and methods for using query plans for building and performance tuning services makes it possible to examine the query plan and response times for query execution. The ability to examine the query plans and response times for query execution makes it possible to improve query efficiency and apply caching more effectively.
-
Citations
14 Claims
-
1. A computer-readable storage medium storing one or more sequences of instructions for preparing a query plan for tuning a service, which instructions, when executed by one or more processors, cause the one or more processors to carry out the steps of:
-
receiving a query from a portal application to be executed against a system, said query associated with a service model, wherein the service model provides a plurality of structured views of available services to the portal application; determining at least one of a plurality of ways capable of satisfying the query, wherein at least one of the plurality of ways includes accessing at least two tables in a database; selecting, from the plurality of ways to satisfy the query, a preferred way for satisfying the query and meeting a performance criteria wherein selecting includes determining whether speed of query execution is more important than memory usage by employing parameters that correlate the relative importance of speed, memory and resource usage on the system that the query is executed against wherein selecting the preferred way for satisfying the query includes; if speed is determined to be more important than memory usage;
retrieving both of said at least two tables from the database and writing said at least two tables into memory;if speed is determined not to be more important than memory usage;
determining whether memory capacity is constrained by only one of said at least two tables and if the memory capacity is constrained by only one of said at least two tables, then retrieving a smaller table of said two tables from the database and writing said smaller table into the memory;otherwise, if speed is determined not to be more important than memory usage and if both tables are too large to be brought into the memory;
requesting values from each of said at least two tables as needed from the database;generating the query plan and providing the preferred way as at least a portion of the query plan; and accessing a service according to the query plan to receive a result set, wherein the result set is mapped to one of the plurality of structured views that is specifically suited to the format of the portal application that has submitted the query. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 13, 14)
-
-
11. A method for tuning one or more services, comprising:
-
receiving a query from a portal application to be executed against a system, said query associated with a service model, wherein the service model provides a plurality of structured views of available services to the portal application; determining at least one of a plurality of ways capable of satisfying the query, wherein at least one of the plurality of ways includes accessing at least two tables in a database; selecting, from the plurality of ways to satisfy the query, a preferred way for satisfying the query and meeting a performance criteria wherein selecting includes determining whether speed of query execution is more important than memory usage by employing parameters that correlate the relative importance of speed, memory and resource usage on the system that the query is executed against wherein selecting the preferred way for satisfying the query includes; if speed is determined to be more important than memory usage;
retrieving both of said at least two tables from the database and writing said at least two tables into memory;if speed is determined not to be more important than memory usage;
determining whether memory capacity is constrained by only one of said at least two tables and if the memory capacity is constrained by only one of said at least two tables, then retrieving a smaller table of said two tables from the database and writing said smaller table into the memory;otherwise, if speed is determined not to be more important than memory usage and if both tables are too large to be brought into the memory;
requesting values from each of said at least two tables as needed from the database;generating the query plan and providing the preferred way as at least a portion of the query plan; and accessing a service according to the query plan to receive a result set, wherein the result set is mapped to one of the plurality of structured views that is specifically suited to the format of the portal application that has submitted the query.
-
-
12. An apparatus for tuning one or more services, the apparatus comprising:
-
a processor; and one or more stored sequences of instructions which, when executed by the processor, cause the processor to carry out the steps of; receiving a query from a portal application to be executed against a system, said query associated with a service model, wherein the service model provides a plurality of structured views of available services to the portal application; determining at least one of a plurality of ways capable of satisfying the query, wherein at least one of the plurality of ways includes accessing at least two tables in a database; selecting, from the plurality of ways to satisfy the query, a preferred way for satisfying the query and meeting a performance criteria wherein selecting includes determining whether speed of query execution is more important than memory usage by employing parameters that correlate the relative importance of speed, memory and resource usage on the system that the query is executed against wherein selecting the preferred way for satisfying the query includes; if speed is determined to be more important than memory usage;
retrieving both of said at least two tables from the database and writing said at least two tables into memory;if speed is determined not to be more important than memory usage;
determining whether memory capacity is constrained by only one of said at least two tables and if the memory capacity is constrained by only one of said at least two tables, then retrieving a smaller table of said two tables from the database and writing said smaller table into the memory;otherwise, if speed is determined not to be more important than memory usage and if both tables are too large to be brought into the memory;
requesting values from each of said at least two tables as needed from the database;generating the query plan and providing the preferred way as at least a portion of the query plan; and accessing a service according to the query plan to receive a result set, wherein the result set is mapped to one of the plurality of structured views that is specifically suited to the format of the portal application that has submitted the query.
-
Specification