Client-side statement cache
First Claim
1. A method of providing instructions from a database client to a database server, comprising:
- receiving a plurality of embedded structured query language (SQL) instructions;
sending the plurality of embedded SQL instructions to the database server, wherein the database server analyzes the plurality of embedded SQL instructions;
receiving, from the database server and based on the analyzing by the database server, a representation of a first instruction and an associated identifier, wherein the first instruction comprises a pre-processed dynamic SQL instruction converted from a first embedded SQL instruction from the plurality of embedded SQL instructions;
storing the representation of the first instruction and the associated identifier in a cache;
receiving a second instruction from an application, wherein the second instruction is not identical to the first instruction and comprises a second embedded SQL instruction from the plurality of embedded SQL instructions;
matching the representation of the first instruction and the second instruction;
retrieving the associated identifier from the cache based on the matching; and
sending the associated identifier to the database server, wherein, upon receiving the associated identifier the database server executes the first instruction.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments include a method, apparatus and computer program product for providing instructions from a database client to a database server. The method includes the steps of receiving from a database a representation of a first instruction and an associated identifier. The representation of the first instruction and the associated identifier are stored in a cache. A second instruction, from an application, is matched with the representation of the first instruction stored in the cache. The associated identifier is retrieved from the cache based on the matching and the associated identifier is sent to the database server. Upon receipt of the associated identifier, the database server executes the first instruction.
23 Citations
20 Claims
-
1. A method of providing instructions from a database client to a database server, comprising:
-
receiving a plurality of embedded structured query language (SQL) instructions; sending the plurality of embedded SQL instructions to the database server, wherein the database server analyzes the plurality of embedded SQL instructions; receiving, from the database server and based on the analyzing by the database server, a representation of a first instruction and an associated identifier, wherein the first instruction comprises a pre-processed dynamic SQL instruction converted from a first embedded SQL instruction from the plurality of embedded SQL instructions; storing the representation of the first instruction and the associated identifier in a cache; receiving a second instruction from an application, wherein the second instruction is not identical to the first instruction and comprises a second embedded SQL instruction from the plurality of embedded SQL instructions; matching the representation of the first instruction and the second instruction; retrieving the associated identifier from the cache based on the matching; and sending the associated identifier to the database server, wherein, upon receiving the associated identifier the database server executes the first instruction. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 16)
-
-
10. An apparatus in a database client, comprising:
-
a cache controller configured to, using a processor, receive from a database server, based on an analysis by the database server, a representation of a first instruction and an associated identifier, wherein the cache controller is further configured to store the representation of the first instruction and the associated identifier in a cache, and further wherein the first instruction comprises a pre-processed dynamic structured query language (SQL) instruction converted from a first embedded SQL instruction from a plurality of embedded SQL instructions; an application interface coupled to an application, wherein the application interface is configured to; receive the plurality of embedded SQL instructions; send the plurality of embedded SQL instructions to a database server, wherein the database server analyzes the plurality of embedded SQL instructions; and receive a second instruction from the application, wherein the second instruction is not identical to the first instruction and comprises a second embedded SQL instruction from the plurality of embedded SQL instructions; a matcher configured to match, using a processor, the representation of the first instruction to the received second instruction; an identifier retriever configured to retrieve an identifier from the cache based on a result from the matcher; and a database interface configured to send the identifier to the database, wherein upon receipt of the identifier, the database server is configured to execute the first instruction. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
17. A method of executing database instructions, comprising:
-
receiving a plurality of embedded structured query language (SQL) instructions from one or more database clients; processing a first database instruction to create a processed version of the first database instruction, wherein the first instruction comprises a pre-processed dynamic SQL instruction converted from a first embedded SQL instruction from the plurality of embedded SQL instructions; assigning an identifier to the processed version of the first database instruction; storing the identifier and the processed version of the first database instruction; sending the identifier and a representation of the processed version of the first database instruction to a cache on the one or more database clients; receiving a value that corresponds to the identifier from the database client, wherein the identifier is received based on a second database instruction, the second database instruction being not identical to the first instruction and comprises a second embedded SQL instruction from the plurality of embedded SQL instructions; and wherein, based on the received identifier, a database server executes the processed version of the first database instruction. - View Dependent Claims (18, 19)
-
-
20. A non-transitory computer-readable medium having computer-executable instructions stored thereon that, when executed by a computing device, cause the computing device to perform instructions, the instructions comprising:
-
receiving a plurality of embedded structured query language (SQL) instructions; sending the plurality of embedded SQL instructions to a database server, wherein the database server analyzes the plurality of instructions; receiving, from the database server and based on the analyzing by the database server, a representation of a first instruction and an associated identifier, wherein the first instruction comprises a pre-processed dynamic SQL instruction converted from a first embedded SQL instruction from the plurality of embedded SQL instructions; storing the representation of the first instruction and the associated identifier in a cache; receiving a second instruction from an application, wherein the second instruction is not identical to the first instruction and comprises a second embedded SQL instruction from the plurality of embedded SQL instructions; matching the representation of the first instruction and the second instruction; retrieving the associated identifier from the cache based on the matching; and sending the associated identifier to the database server, wherein, upon receiving the associated identifier the database server executes the first instruction.
-
Specification