Optimization technique for database application
AssigneeTmaxData Co., Ltd.
InventorsSang Young Park, Cheol Woo Kim, Po Sung Chun
Life of this patent
Estimating the term…
Abstract
Disclosed is a computer-readable medium including a computer program including encoded commands. The computer program is configured to cause one or more processors to perform operations for optimizing a database application when the computer program is executed by the one or more processors of a computer system and the operations include: operation for receiving a query including a bind parameter from an application source; operation for obtaining information related to the bind parameter included in the received query; and operation for rewriting the received query by reflecting the obtained information related to the bind parameter within the received query as hint information.
Claims17
An optimized execution plan generator, comprising at least one non-transitory computer-readable storage medium programmed to cause at least one processor to instantiate:
- a first compiler programmed to:
- (a) receive a received query comprising a bind parameter,
- (b) obtain information related to the bind parameter by performing at least one of a data flow analysis and an interprocedural analysis for the received query to obtain range information for the bind parameter as a hint information,
- (c) rewrite the received query by reflecting the obtained information as hint information, and
- (d) convert the rewritten query into a type that is readable by an SOL component, wherein the SOL component creates an execution code from the rewritten query;
- and
- a second compiler programmed to:
- (a) receive a rewritten query from the first compiler comprising the reflected obtained information containing the obtained range information for the bind parameter as the hint information,
- (b) analyze the hint information reflected into the rewritten query to obtain value information related to the bind parameter,
- (c) generate the optimized execution plan based on the hint information comprising obtained value information related to the bind parameter, and
- (d) execute the optimized execution plan.
A database server for implementing an optimization operation for a database application, the server comprising:
- a communication module receiving a query including a bind parameter;
- a processor including one or more cores;
- wherein the processor includes:
- a first compiling module, wherein the first compiling module:
- obtains information related to the bind parameter by performing at least one of a data flow analysis and an interprocedural analysis for the received query to obtain range information for the bind parameter as the obtained hint information,
- reflects the obtained information related to the bind parameter within the received query as hint information to rewrite the received query, and
- converts the rewritten query into a type that is readable by an SQL component, wherein the SQL component creates an execution code from the rewritten query;
- and
- a second compiling module receiving a rewritten query from the first compiling module comprising the reflected obtained information containing the obtained range information for the bind parameter as the hint information,
- analyzing the hint information reflected into the rewritten query to obtain value information related to the bind parameter,
- generating the optimized execution plan based on the hint information comprising obtained value information related to the bind parameter and executing the optimized execution plan.
A user terminal for implementing an optimization operation for a database application, the user terminal comprising:
- a processor including one or more cores;
- wherein the processor includes:
- a first compiling module configured to;
- receive a query including a bind parameter,
- obtain information related to the bind parameter by performing at least one of a data flow analysis and an interprocedural analysis for the received query to obtain range information for the bind parameter as the obtained hint information,
- reflect the obtained information related to the bind parameter within the query as hint information to rewrite the query, and
- convert the rewritten query into a type that is readable by an SQL component, wherein the SQL component creates an execution code from the rewritten query;
- and
- a communication module transferring the rewritten query to the database server so that the second compiler of the database server generates the rewritten query as an execution plan, wherein the execution plan is generated by the second compiler through the following steps:
- receiving a rewritten query from the first compiling module comprising the reflected obtained information containing the obtained range information for the bind parameter as the hint information,
- analyzing the hint information reflected into the rewritten query to obtain value information related to the bind parameter,
- generating the optimized execution plan based on the hint information comprising obtained value information related to the bind parameter.
Dependencies are inferred from the claim text.