Patent ID: 8321447

Claim:
A computer-implemented method for adaptively throttling a database query, the method comprising: obtaining, by a throttling server, a compound database query describing at least one result row from a database, said at least one result row being selected according to specified criteria from a specified plurality of database tables; sequencing, by said throttling server, said compound database query into an ordered plurality of component select queries, each component select query describing at least one interim result row from only one of said specified plurality of database tables; adaptively throttling said compound database query by performing steps i-iv by said throttling server for each of said ordered plurality of component select queries: i. periodically polling a database server until a current database-load metric satisfies an availability condition; ii. when said current database-load metric satisfies said availability condition, communicating the current component select query to said database server; iii. obtaining from said database server a current interim result set comprising at least one current interim result row corresponding to the current component select query; and iv. storing said current interim result set in an interim memory; and obtaining a plurality of interim result sets from said interim memory, said plurality of interim result sets corresponding respectively to said ordered plurality of component select queries; and assembling, by said throttling server, said at least one result row according to said plurality of interim result sets.