Patent ID: 9639576
Date: 2017-05-02
CPC Classifications: G06F

Claim:
1. A database management system for managing a database, the database management system comprising: a processor; and a memory connected to the processor, the memory storing instructions that, when executed by the processor, cause the processor to: receive a query to the database; generate a query execution plan including information representing one or more database operations necessary for executing the received query, and the generated query execution plan includes a plurality of query blocks, which are sets of one or more of the database operations necessary for executing the received query; and execute the received query in accordance with the generated query execution plan and, in the execution of the received query, dynamically generate a plurality of tasks for executing the database operations and execute the dynamically generated tasks, wherein the execution of the received query includes to execute determination processing of a plurality of task-generation numbers when newly generating the tasks in the execution of the received query, wherein the determination processing of the task-generation numbers includes to calculate, targeting each of the plurality of query blocks, the task-generation numbers which indicate a number of dynamically generated tasks that can be generated as the tasks for executing the target query block, wherein the number of the dynamically generated tasks is equal to or smaller than the task-generation number for the target query block, and wherein the task-generation numbers are calculated based on a ratio of each of a plurality of memory resource amounts required for the execution of each of the plurality of query blocks to an upper limit of a memory resource amount allocatable to the execution of the received query.