Cursor pre-fetching
First Claim
1. A computer-implemented method, the method comprising the steps of:
- determining a first amount of memory of a computer of a client of a database server, said first amount of memory being for storing records generated by the database server for a cursor, wherein determining the amount of memory is based on;
a respective state of each cursor of a plurality of cursors stored on said database server, and a second amount of memory of said computer;
determining a first quantity of records based on the first amount; and
in response to the database server receiving a fetch request for a certain quantity of records, satisfying the fetch request by returning at least the first quantity of records to the client.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques determine a quantity of rows to fetch based on memory available on a client computer and the fetch state of cursors. The techniques are used to determine a quantity of rows for “pre-fetching”. Under pre-fetching, rows in addition to those requested by an application are fetched from a database instance and stored in a “pre-fetch buffer”. The pre-fetch quantities are based on an amount of memory that is deemed available for pre-fetch buffers on a client computer and the number of cursors in the fetch state for a session at a given moment. Pre-fetching is used to hasten session migration. By fetching a quantity of rows that is larger than would be fetched if only the application-specified quantity were fetched, the fetch phase of a cursor is completed sooner. An earlier completion of the fetch phase of a session'"'"'s cursors allows migration of the session to be completed sooner.
56 Citations
22 Claims
-
1. A computer-implemented method, the method comprising the steps of:
-
determining a first amount of memory of a computer of a client of a database server, said first amount of memory being for storing records generated by the database server for a cursor, wherein determining the amount of memory is based on;
a respective state of each cursor of a plurality of cursors stored on said database server, and a second amount of memory of said computer;
determining a first quantity of records based on the first amount; and
in response to the database server receiving a fetch request for a certain quantity of records, satisfying the fetch request by returning at least the first quantity of records to the client. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
10. A computer-implemented method, the method comprising the steps of:
-
a client on a computer transmitting a first fetch request to a database server for a plurality of records generated for a cursor;
receiving at least a first quantity of records, wherein the first quantity of records is determined based on a first amount of memory of the computer, said first amount of memory being for storing records generated by the database server for the cursor, wherein the first amount of memory is determined based on;
a respective state of each cursor of a plurality of cursors stored on said database server, and a second amount of memory of said computer;
storing the first quantity of records in a buffer on a computer;
receiving a second fetch request from an application for at least a portion of said plurality of records generated for said cursor; and
satisfying the second fetch request using records in said buffer. - View Dependent Claims (11, 21, 22)
-
Specification