1. A method of prefetching data from a server in a client-server database management system, the method comprising: (a) using at least one hardware processor, tracking usage of data requested by a database query by a client application resident on a client to generate at least one usage statistic; (b) receiving a record request from a client application resident on a client, wherein the record request requests at least one record that is not cached in a prefetch cache resident in the client; (c) in response to the record request, using the usage statistic to formulate a data set to be retrieved from the server and into the prefetch cache; and (d) retrieving the data set from the server and into the prefetch cache; wherein the database query comprises an SQL statement, wherein the client-server database management system comprises a relational database, wherein the record request comprises a position row request for a table in the relational database, wherein tracking usage of data comprises determining a number of rows used by a client application during a prior execution of the database query, and wherein retrieving the data set includes retrieving less than a full block of rows into the prefetch cache.