Execution plan analysis method and apparatus for structured query language
By reorganizing and modifying the object functions, all DML statements are ensured to be identified and executed in the execution plan, solving the problem of inefficient SQL execution plan analysis in existing technologies and improving analysis efficiency and accuracy.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2026-01-09
- Publication Date
- 2026-07-23
AI Technical Summary
In existing technologies, the execution plan analysis of Structured Query Language (SQL) cannot effectively identify and locate specific DML statements in object functions, resulting in low efficiency of performance analysis and requiring manual troubleshooting.
The computing device modifies the object function based on the reorganization logic to ensure that all DML statements in the object function are identified and executed, including deleting condition code, modifying loop code, adding exception handling code, and generating an execution plan to evaluate performance metrics.
It enables efficient performance evaluation of DML statements in object functions, improves the accuracy and efficiency of execution plan analysis, and avoids omissions in manual analysis.
Smart Images

Figure CN2026071606_23072026_PF_FP_ABST
Abstract
Description
A method and apparatus for analyzing execution plans of a structured query language.
[0001] This application claims priority to Chinese Patent Application No. 202510061023.1, filed on January 14, 2025, entitled "A Method and Apparatus for Execution Plan Analysis of Structured Query Language", the entire contents of which are incorporated herein by reference. Technical Field
[0002] This application relates to the field of communications, and more particularly to a method and apparatus for analyzing the execution plan of the Structured Query Language (SQL). Background Technology
[0003] Structured Query Language (SQL) is a programming language for managing and manipulating relational databases. In SQL, Data Manipulation Language (DML) statements are used to perform operations such as querying, updating, inserting, and deleting data. The execution plan of SQL describes the series of steps taken by the database management system to complete the requested data operations when executing DML statements. This execution plan can be used to analyze the performance of DML statements.
[0004] Current methods for analyzing DML statement performance using execution plans suffer from limitations. Since DML statements may be contained within conditions of object functions, the execution plan only reflects the overall performance of the object function containing the DML statement, failing to pinpoint all DML statements and leading to omissions in DML statement performance analysis. Therefore, current methods require manual inspection of all DML statements to analyze their performance within object functions. This involves manually identifying and extracting the DML statements, generating execution plans for each statement, and then using the performance metrics returned by these plans to analyze the DML statement's performance. This results in low efficiency for current DML statement performance analysis. Summary of the Invention
[0005] This application provides a method for analyzing the execution plan of a structured query language, which improves the efficiency of execution plan analysis for structured query languages. This application also provides an execution plan analysis apparatus, computing device, computing device cluster, computer-readable storage medium, and computer program product corresponding to the method for analyzing the execution plan of a structured query language.
[0006] In a first aspect, embodiments of this application provide a method for analyzing execution plans of a Structured Query Language (SQL). This method can be executed by a computing device, or by a component of the computing device, such as a processor, chip, or chip system, or by a logic module or software capable of implementing all or part of the functions of the computing device. The method provided in the first aspect includes: the computing device determining object functions of a target database, the object functions including SQL statements modified based on reorganization logic, the reorganization logic being used to identify Data Manipulation Language (DML) statements in the object functions in the execution plan, meaning that all DML statements in the object functions modified based on the reorganization logic can be identified; the computing device generating an execution plan based on the object functions, the execution plan indicating the performance evaluation metrics corresponding to one or more DML statements in the calling object functions; and the computing device displaying the performance analysis results corresponding to the execution plan, the performance analysis results being used to identify DML statements among one or more DML statements whose performance evaluation metrics are below a threshold.
[0007] In this embodiment, the computing device can modify the object function to be analyzed based on the reorganization logic, so that the execution plan generated by the computing device based on the modified object function contains all the identified DML statements in the object function. The computing device can directly analyze the performance evaluation indicators of specific DML statements from the execution plan. Compared with the prior art, which requires manual analysis of the performance of DML statements in the object function, the execution plan analysis method of structured query language provided in this embodiment can identify and analyze the performance evaluation indicators of DML statements in the object function, thereby improving the efficiency of execution plan analysis of structured query language.
[0008] In one possible implementation, during the process of determining the object function of the target database, the computing device modifies the data definition language (DDL) statements in the object function based on reorganization logic so that the object function satisfies one or more of the following: all DML statements in the object function are executed, the DML statements in the object function are executed only once, and the object function supports exception handling.
[0009] In this embodiment of the application, after the computing device modifies the Data Definition Language (DDL) statements in the object function based on the reorganization logic, all DML statements in the object function can be executed in a single execution, and exceptions in the object function can be caught, thereby ensuring that the object function can be executed normally and improving the efficiency of the execution plan analysis of the object function.
[0010] In one possible implementation, during the process of modifying the Data Definition Language (DDL) statements in an object function based on reorganization logic, the computing device removes conditional code from the object function based on the reorganization logic, ensuring that all DDL statements within the conditional code are executed. For example, the computing device removes if and while conditional codes appearing in the object function, thereby guaranteeing that all DDL statements within the conditional code can be executed.
[0011] In this embodiment, the computing device can logically delete the conditional code in the object function, so that all DML statements in the object function are executed, thereby avoiding omissions in the performance analysis of DML statements in the object function, ensuring that execution plan analysis is performed on all DML statements in the object function, and thus improving the accuracy of execution plan analysis.
[0012] In one possible implementation, during the process of modifying the Data Definition Language (DDL) statements in an object function based on reorganization logic, the computing device modifies the loop code within the object function to ensure that the DDL statements within the loop are executed only once. For example, the computing device adds an `exit` statement to the `for` loop code in the object function, thereby ensuring that the DDL statements within the `for` loop are executed only once. As another example, the computing device modifies the `for all` code in the object function to `for loop` code and adds an `exit` statement, thereby ensuring that the DDL statements within the loop are executed only once.
[0013] In this embodiment, the computing device can modify the loop code in the object function based on the reorganization logic, so that the DML statement in the object function is executed once, avoiding the repeated execution of the DML statement in the loop code, thereby improving the performance analysis efficiency of the DML statement in the object function.
[0014] In one possible implementation, during the process of modifying the Data Definition Language (DDL) statements in the object function based on reorganization logic, the computing device adds exception handling code to the object function based on the reorganization logic to enable exception handling. For example, the computing device adds exception handling code to dynamic SQL, cursors, and ordinary DML statements. Adding exception handling code ensures the normal execution of the object function. Dynamic SQL refers to SQL statements constructed at runtime, allowing the program to construct SQL queries, updates, or deletes based on conditions or input parameters. A cursor is a database query mechanism that can read and process queries row by row. Through cursors, complex logical operations such as calculations, condition checks, or data transformations can be performed on each row of data.
[0015] In the embodiments of this application, the computing device can add exception handling code to the object function based on the reorganization logic, thereby enabling the object function to support exception handling, thus ensuring the normal execution of the object function and improving the efficiency of the execution plan analysis of the object function.
[0016] In one possible implementation, after modifying the Data Definition Language (DDL) statements in the object function based on reorganization logic, the computing device writes the modified object function back to the target database. The object function includes one or more of the following: functional object functions, stored procedure object functions, and package functions. Specifically, a functional function is a special type of stored procedure function used to perform specific calculations or data transformations and return a value; a procedure function is a pre-compiled code block used to perform specific tasks or operations; and a package function is a structure that encapsulates related database objects such as functions, procedures, and variables together.
[0017] In this embodiment, after the computing device modifies the Data Definition Language (DDL) statements in the object function based on the reorganization logic, it writes the modified object function back to the target database, thereby improving the feasibility of the solution.
[0018] In one possible implementation, before the computing device generates an execution plan based on the object function, the computing device assigns values to the variables involved in the DML statements in the object function so that the DML statements in the object function can be executed. The data types of the variables include one or more of the following types: basic data types, row types, column types, array types, and other types. Basic data types include numeric types and character types.
[0019] In this embodiment, the computing device can assign values to variables involved in DML statements in object functions, thereby ensuring that DML statements in object functions can be executed, improving the accuracy of object function calls, and avoiding manual analysis of DML statements in object functions, further improving the efficiency of execution plan analysis.
[0020] In one possible implementation, when the computing device obtains statistical information from the target database, if the target database does not contain the statistical information, the computing device obtains the statistical information from the production database. Specifically, the computing device copies the statistical information from the production database to the target database. The statistical information can be automatically collected from the production database or manually collected by the database administrator as needed; there is no specific limitation.
[0021] In this embodiment of the application, the statistical information obtained by the computing device can be statistical information copied from the production database. That is, the target database does not need to have a large amount of data, and the statistical information can be directly copied from the production database. The statistical information in the target database can ensure that the computing device can generate an execution plan, thereby improving the query performance of the database.
[0022] In one possible implementation, during the process of generating an execution plan based on an object function, the computing device calls the object function to generate the execution plan by connecting to the database via JDBC. The execution plan includes one or more of the following: DML statement, performance evaluation metrics corresponding to the DML statement, the object function containing the DML statement, and the dependent object functions corresponding to the object function.
[0023] In this embodiment of the application, the computing device can generate an execution plan by calling object functions through JDBC connection to the database, thereby improving the feasibility of the computing device to generate an execution plan.
[0024] In one possible implementation, before the computing device generates an execution plan by calling an object function via JDBC connection to the database, the computing device sets the calling parameters. These parameters indicate one or more of the following: the automatic execution plan generation setting status and the execution plan log level. Specifically, the automatic execution plan generation setting status indicates whether automatic printing of the execution plan is enabled, and the execution plan log level controls the log level of the automatically printed execution plan, indicating the level of detail in the execution plan.
[0025] In this embodiment of the application, the computing device can set the calling parameters of the object function, thereby setting whether to enable automatic printing of the execution plan and setting the level of detail of the execution plan, thereby improving the feasibility of the computing device to generate the execution plan.
[0026] In one possible implementation, the execution plan generated by the computing device includes multiple fields, where different fields can provide different aspects of information. For example, the execution plan may include a query text field, which can indicate the text content of the SQL query that triggered the execution plan, including the DML statement to be analyzed. As another example, the execution plan may include a cost value field, which can indicate performance evaluation metrics for the DML statement.
[0027] In this embodiment of the application, the computing device can display information such as DML statements and corresponding performance evaluation indicators based on different fields of the execution plan, thereby improving the feasibility of the computing device in generating execution plans.
[0028] In one possible implementation, after the computing device generates an execution plan based on the object function, it can analyze the execution plan to obtain the performance analysis results corresponding to the execution plan. The performance analysis results indicate the DML statements in the object function whose performance evaluation indicators are lower than the threshold. The computing device can optimize the DML statements whose performance evaluation indicators are lower than the threshold.
[0029] In this embodiment, the computing device can analyze the execution plan to identify DML statements whose performance evaluation metrics are below a threshold, and optimize the DML statements whose performance evaluation metrics are below the threshold, thereby improving the execution efficiency of DML statements and further improving the performance of the database.
[0030] Secondly, embodiments of this application provide an execution plan analysis apparatus for Structured Query Language (SQL). This apparatus includes a processing unit and a display unit. The processing unit is used to determine object functions of a target database. The object functions include SQL statements modified based on reorganization logic. The reorganization logic is used to identify Data Manipulation Language (DML) statements within the object functions in the execution plan. The processing unit is also used to generate an execution plan based on the object functions. The execution plan indicates the performance evaluation metrics corresponding to one or more DML statements calling the object functions. The display unit is used to display the performance analysis results corresponding to the execution plan. The performance analysis results are used to identify DML statements among one or more DML statements whose performance evaluation metrics are below a threshold.
[0031] In one possible implementation, the processing unit is specifically used to modify the Data Definition Language (DDL) statements in the object function based on the reorganization logic, so that the object function satisfies one or more of the following: all DML statements in the object function are executed, the DML statements in the object function are executed once, and the object function supports exception handling.
[0032] In one possible implementation, the processing unit is specifically used to delete the conditional code in the object function based on the reorganization logic, so that the DML statements in the conditional code are executed.
[0033] In one possible implementation, the processing unit is specifically used to modify the loop code in the object function based on the reorganization logic, so that the DML statements in the loop code are executed only once.
[0034] In one possible implementation, the processing unit is specifically used to add exception-catching code to the object function based on the reorganization logic, so that the object function supports exception catching.
[0035] In one possible implementation, the processing unit is also configured to write the modified object function back to the target database. The object function includes one or more of the following: function object function, stored procedure object function, and package function.
[0036] In one possible implementation, the processing unit is also used to assign values to variables involved in DML statements in the object function so that the DML statements in the object function can be executed. The data types of the variables include one or more of the following: basic data types, row types, column types, array types, and other types.
[0037] In one possible implementation, the processing unit is specifically used to generate an execution plan by calling an object function through a JDBC connection to the database. The execution plan includes one or more of the following: DML statement, performance evaluation metrics corresponding to the DML statement, object function containing the DML statement, and dependent object functions corresponding to the object function.
[0038] In one possible implementation, the processing unit is further configured to set call parameters, which indicate one or more of the following: the status of automatically generated execution plan settings and the log level of the execution plan.
[0039] Thirdly, embodiments of this application provide a computing device including a processor coupled to a memory. The processor stores instructions, which, when executed by the processor, cause the computing device to perform the method described in the first aspect or any possible implementation thereof.
[0040] Fourthly, embodiments of this application provide a computing device cluster, which includes one or more computing devices. Each computing device includes a processor coupled to a memory. The processor is used to store instructions, which, when executed by the processor, cause the computing device cluster to perform the method described in the first aspect or any possible implementation thereof.
[0041] Fifthly, embodiments of this application provide a computer-readable storage medium having instructions stored thereon, which, when executed, cause a computer to perform the method described in the first aspect or any possible implementation thereof.
[0042] Sixthly, embodiments of this application provide a computer program product including instructions that, when executed, cause a computer to implement the method described in the first aspect or any possible implementation thereof.
[0043] It is understood that the beneficial effects that any of the structured query language SQL execution plan analysis devices, computing devices, computing device clusters, computer-readable media or computer program products provided above can be referred to the beneficial effects in the corresponding methods, and will not be repeated here. Attached Figure Description
[0044] Figure 1 is a schematic diagram of the system architecture of an execution plan analysis system provided in an embodiment of this application;
[0045] Figure 2 is a flowchart illustrating an execution plan analysis method for a structured query language provided in an embodiment of this application;
[0046] Figure 3 is a flowchart illustrating another method for analyzing the execution plan of a structured query language provided in an embodiment of this application;
[0047] Figure 4 is a schematic diagram of an execution plan provided in an embodiment of this application;
[0048] Figure 5 is a schematic diagram of an execution plan analysis device for a structured query language provided in an embodiment of this application;
[0049] Figure 6 is a schematic diagram of the structure of a computing device provided in an embodiment of this application;
[0050] Figure 7 is a schematic diagram of the structure of a computing device cluster provided in an embodiment of this application;
[0051] Figure 8 is a schematic diagram of another computing device cluster provided in an embodiment of this application. Detailed Implementation
[0052] This application provides a method and apparatus for analyzing the execution plan of a structured query language, which improves the efficiency of analyzing the execution plan of a structured query language.
[0053] The terms “first,” “second,” “third,” “fourth,” etc. (if present) in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a particular order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments described herein can be implemented in a sequence other than that illustrated or described herein. Furthermore, the terms “comprising” and “having,” and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0054] In the embodiments of this application, the terms "exemplary" or "for example" are used to indicate that something is an example, illustration, or description. Any embodiment or design that is described as "exemplary" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design. Specifically, the use of the terms "exemplary" or "for example" is intended to present the relevant concepts in a specific manner.
[0055] First, some of the terms used in the embodiments of this application are introduced to facilitate understanding of the technical solutions by those skilled in the art.
[0056] Structured Query Language (SQL) is a database query and programming language used to access, query, update, and manage database systems.
[0057] Data Definition Language (DDL) is a set of statements in Structured Query Language (SQL) used to define, modify, and delete data structures within a database. DDL statements do not directly affect the data stored in the database; rather, they define or modify the database's logical and physical storage structures. Examples of DDL statements include create and alter statements.
[0058] Data Manipulation Language (DML) is a component of Structured Query Language (SQL) used to query, insert, update, and delete data in a database. DML statements can directly operate on data rows in the database. Examples of DML statements include SELECT, INSERT, UPDATE, and DELETE statements.
[0059] An execution plan is a detailed sequence of steps generated by a database management system when executing an SQL query. It includes the access path, join type, estimated row count, and operation cost. Also known as a query plan or interpreted plan, the execution plan allows users to understand the query execution process and optimize it.
[0060] To make the technical solution of this application clearer and easier to understand, the system architecture of this application will be described below with reference to the accompanying drawings.
[0061] Please refer to Figure 1, which is a schematic diagram of the system architecture of a plan analysis system provided in an embodiment of this application. In the example shown in Figure 1, the execution plan analysis system 10 includes a database server 101 and a business server 102. The database server 101 includes a production database module 1011 and a target database module 1012. The business server 102 includes a data acquisition module 1021, a data reassembly module 1022, a write-back module 1023, a plan acquisition module 1024, a plan analysis module 1025, and a result display module 1026. The specific functions of each part of the execution plan analysis system 10 are described below.
[0062] Database server 101 is a server used for storing, managing, and providing data access. Database server 101 is capable of storing and managing large amounts of structured data; for example, database server 101 can store business data of an enterprise, and database server 101 can also provide data processing and querying functions.
[0063] Database server 101 includes a production database module 1011 and a target database module 1012. The production database module 1011 refers to the database used in the actual business environment. In the production database module 1011, data is typically read, written, and updated frequently, therefore requiring regular backups and recovery to prevent data loss.
[0064] The target database module 1012 can be a target database in scenarios such as data migration, backup and recovery, or data analysis. For example, in a data migration scenario, data in the production database module 1011 is copied to the target database module 1012. In a backup and recovery scenario, the target database module 1012 is used to store backup data and restore the production database module 1011 when needed. In a data analysis scenario, the target database module 1012 can be used to store and process analytical data.
[0065] Business server 102 is a server that processes business logic. Business server 102 receives requests from clients, executes the corresponding business logic processing, and then returns the processing results to the client. This business logic includes modifying object functions based on reorganization logic and obtaining and analyzing the execution plan.
[0066] The business server 102 includes a data acquisition module 1021, a data reassembly module 1022, a write-back module 1023, a plan acquisition module 1024, a plan analysis module 1025, and a result display module 1026. The data acquisition module 1021 is used to acquire the object functions to be analyzed from the target database module 1012. These object functions include one or more Data Manipulation Language (DML) statements, such as function statements, procedure functions, and package functions.
[0067] The reorganization module 1022 is used to modify object functions according to reorganization logic, including modifying data definition language (DDL) statements in the object functions to change the logical conditions of the object functions, and further enabling all data manipulation language (DML) statements in the object functions to be recognized in the execution plan. For example, the reorganization module 1022 can modify the execution condition code in DML statements based on the reorganization logic.
[0068] The write-back module 1023 is used to write the reorganized object functions back to the target database module 1012.
[0069] The plan acquisition module 1024 is used to obtain the execution plan from the target database module 1012. The execution plan includes detailed execution strategies for the Structured Query Language (SQL) within the object functions. This execution plan can be used to analyze the query performance of the target database. Specifically, the plan acquisition module 1024 can obtain the execution plan based on specific commands or tools; for example, it can obtain the execution plan based on commands such as EXPLAIN.
[0070] The plan analysis module 1025 is used to perform performance analysis based on the execution plan, including analyzing the cost value of the DML statement in the object function, the location of the DML statement in the object function, and the location of the object functions it depends on. The cost value can reflect the performance of the DML statement. For example, the higher the cost value, the longer the execution time of the DML statement.
[0071] The results display module 1026 is used to display the execution plan and analysis results on the display interface. The analysis results include DML statements in object functions whose performance evaluation metrics are below the threshold.
[0072] Based on the execution plan analysis system 10 shown in Figure 1, this application also provides a method for analyzing the execution plan of Structured Query Language (SQL). The following describes the method for analyzing the execution plan of SQL provided in this application, with reference to specific embodiments.
[0073] Please refer to Figure 2, which is a flowchart illustrating an execution plan analysis method for Structured Query Language (SQL) provided in an embodiment of this application. In the example shown in Figure 2, the method includes the following steps:
[0074] 201. The computing device determines the object functions of the target database, which include Structured Query Language (SQL) statements modified based on reorganization logic, which is used to identify Data Manipulation Language (DML) statements in the object functions in the execution plan.
[0075] The computing device determines the object functions of the target database, which are one or more object functions for which the computing device performs performance analysis. These object functions include Structured Query Language (SQL) statements modified based on reorganization logic. The SQL statements include Data Definition Language (DDL) statements and Data Manipulation Language (DML) statements. The reorganization logic is used to identify the DML statements in the object functions in the execution plan.
[0076] Specifically, the business server 102 connects to the target database 1012 and obtains object functions from the target database 1012. Object functions include functional functions, procedural functions, and package functions. For example, the business server 102 can obtain stored procedure functions through system functions or from system tables. Since the object functions in this embodiment can be functions created based on Data Definition Language (DDL) statements, the process of the business server 102 obtaining the object functions to be analyzed can also be called DDL acquisition.
[0077] Please refer to Figure 3, which is a flowchart illustrating another method for analyzing the execution plan of Structured Query Language (SQL) provided in this embodiment. In step 1.2 of the example shown in Figure 3, the business server 102 connects to the target data and collects the object functions to be analyzed. These object functions include functional functions, procedural functions, and package functions. A functional function is a special type of stored procedure function used to perform specific calculations or data transformations and return a value. A procedural function can be a pre-compiled code block used to perform specific tasks or operations. A package function can be a structure that encapsulates related functions, procedures, and variables, etc., together.
[0078] In one possible implementation, during the process of determining the object function of the target database, the computing device modifies the Data Definition Language (DDL) statements in the object function based on reorganization logic, so that the object function satisfies one or more of the following: all DML statements in the object function are executed, the DML statements in the object function are executed only once, and the object function supports exception handling. The process of the computing device modifying the DDL statements in the object function based on reorganization logic can also be called DDL reorganization.
[0079] In this embodiment of the application, the purpose of the computing device modifying the object function based on the reorganization logic is to enable the object function to execute normally and to identify all DML statements in the object function, thereby generating an execution plan that reflects the performance of all DML statements.
[0080] The following details the reorganization logic provided in the embodiments of this application and the method for modifying object functions based on the reorganization logic:
[0081] In one possible implementation, during the process of modifying the Data Definition Language (DDL) statements in an object function based on reorganization logic, the computing device deletes conditional code in the object function to ensure that all DDL statements within the conditional code are executed. For example, the computing device deletes if and while conditional codes appearing in the object function, thereby guaranteeing that all DDL statements within the conditional code can be executed.
[0082] In this embodiment, the computing device can avoid missing the performance analysis of DML statements in the object function by deleting the condition code in the object function based on the reorganization logic, ensuring that all DML statements in the object function can be reflected in the execution plan, and improving the accuracy of the execution plan analysis.
[0083] In one possible implementation, during the process of the computing device modifying the Data Definition Language (DDL) statements in the object function based on the reorganization logic, the computing device modifies the loop code in the object function based on the reorganization logic so that the DML statements in the loop code are executed only once.
[0084] For example, the computing device adds an `exit` statement to the `for` loop code within an object function, thus ensuring that the DML statements within the `for` loop are executed only once. As another example, the computing device modifies the `for all` code within an object function to `for loop` code and adds an `exit` statement, thus ensuring that the DML statements within the loop are executed only once.
[0085] In this embodiment, the computing device modifies the loop code in the object function based on the reorganization logic, which can avoid the repeated execution of DML statements in the loop code and improve the performance analysis efficiency of DML statements in the object function.
[0086] In one possible implementation, during the process of modifying the Data Definition Language (DDL) statements in the object function based on the reorganization logic, the computing device adds exception handling code to the object function based on the reorganization logic so that the object function supports exception handling.
[0087] For example, computing devices add exception handling code to dynamic SQL, cursors, and ordinary DML statements. Adding exception handling code ensures the normal execution of object functions, prevents other DML statements from being affected, and provides error messages for abnormal DML statements. Dynamic SQL refers to SQL statements constructed at runtime, allowing programs to build SQL queries, updates, or deletes based on conditions or input parameters. A cursor is a database query mechanism that can read and process queries row by row. Through cursors, complex logical operations such as calculations, condition checks, or data transformations can be performed on each row of data.
[0088] It should be noted that the reason for adding exception handling code to dynamic SQL, cursors, and DML statements in computing devices is to avoid object function exceptions caused by syntax errors, data type mismatches, permission issues, etc. For example, object function calls may fail due to concatenating SQL or tables not existing.
[0089] In this embodiment, the computing device adds exception handling code to the object function based on the reorganization logic, which can ensure the normal execution of the object function, avoid the need for manual analysis of the context when the object function execution is abnormal, and improve the efficiency of the execution plan analysis of the object function.
[0090] In one possible implementation, after the computing device modifies the Data Definition Language (DDL) statements in the object function based on the reorganization logic, the computing device writes the modified object function back to the target database 1012. The object function includes one or more of the following: functional object functions, stored procedure object functions, and package functions.
[0091] Please refer to Figure 3. In steps 2 and 3 of the example shown in Figure 3, after the business server 102 collects the object functions to be analyzed from the target database 1012, it modifies the DDL statements in the object functions based on reorganization logic. This includes modifying conditional code, loop code, and adding exception handling code, so that the DML statements in the object functions can be 100% identified and extracted in the execution plan. After modifying the object functions based on the reorganization logic, the business server 102 writes the modified object functions back to the target database using a create or replace method.
[0092] 202. The computing device generates an execution plan based on the object function. The execution plan is used to indicate the performance evaluation metrics corresponding to one or more DML statements in the calling object function.
[0093] Before generating an execution plan, the computing device needs to obtain statistical information about the target database 1012. This statistical information is metadata for optimizing query performance, including details such as the number of rows in tables and indexes, column distribution, data selectivity, and data density. By accurately collecting and maintaining this statistical information, the computing device ensures that the database query optimizer can generate efficient query execution plans, thereby improving database query performance.
[0094] When the computing device obtains statistical information from the target database 1012, if the target database does not contain statistical information, the computing device obtains the statistical information from the production database 1011. Specifically, the computing device copies the statistical information from the production database 1011 to the target database. Therefore, the target database 1012 does not need to contain a large amount of data; copying the statistical information from the production database 1011 is sufficient. The statistical information in this embodiment can be automatically collected from the production database 1011, or it can be manually collected by the database administrator as needed; no specific limitation is imposed.
[0095] Please refer to Figure 3. In step 1.1 of the example shown in Figure 3, the production database 1011 is an Oracle database and the target database 1012 is a Gauss DB database. Before the business server 102 obtains the execution plan from the target database 1012, the production database 1011 copies the database statistics to the target database 1012. These statistics are the metadata for optimizing query performance, and the business server 102 can obtain the execution plan based on these statistics.
[0096] In one possible implementation, before the computing device generates an execution plan based on the object function, the computing device assigns values to the variables involved in the DML statements in the object function so that the DML statements in the object function can be executed. The data types of the variables include one or more of the following types: basic data types, row types, column types, array types, and other types. Basic data types include numeric types and character types.
[0097] Specifically, when assigning values to variables involved in DML statements within object functions, numeric variables of basic data types are assigned a default value of 1, with 1s added for any decimal places. Character variables of basic data types are assigned default values such as "UGO_EXPLAIN". For row or column variables, the actual data type of the row or column in the database is automatically retrieved, and then the value is assigned in the above manner. For array variables, if the array length is 1, the value is assigned in the above manner. For other types of variables, such as XML and JSON, the default value is null.
[0098] It should be noted that the process by which the computing device assigns values to variables involved in DML statements within an object function can also be called the parameter value construction of the object function. It is understood that only after the object function is assigned values can it be called and an execution plan be generated. The execution plan analysis method provided in this application can automatically assign values to variables in the object function, thereby ensuring the accuracy of calling the object function.
[0099] In one possible implementation, before the computing device generates an execution plan based on the object function, the computing device sets the calling parameters, which indicate one or more of the following: the automatic execution plan generation setting status and the execution plan log level. Specifically, the automatic execution plan generation setting status indicates whether automatic printing of the execution plan is enabled, and the execution plan log level controls the log level of the automatically printed execution plan, indicating the level of detail in the execution plan.
[0100] For example, setting the automatic execution plan generation status to "set enable_auto_explain=true" means that automatic printing of the execution plan is allowed. Setting the execution plan log level to "set auto_explain_level=NOTICE" indicates that the execution plan log level is NOTICE, meaning the execution plan log level is a notification level.
[0101] The computing device generates an execution plan based on object functions. The execution plan indicates the performance evaluation metrics corresponding to one or more DML statements within the calling object function. These performance metrics can be indicated by cost values, which represent the resource consumption and complexity required to execute the query or operation; this cost value can also be called the estimated execution cost. Specifically, the computing device can query detailed information about the execution plan using the `Explain` command. For example, the computing device executes `Explain [ANALYZE] SELECT xx FROM xxx` and analyzes the performance of the DML statement using the returned cost values.
[0102] In one possible implementation, during the process of generating an execution plan based on an object function, the computing device calls the object function to generate the execution plan via JDBC connection to the database. The execution plan includes one or more of the following: a DML statement, the performance evaluation metrics corresponding to the DML statement, the object function containing the DML statement, and the dependent object functions corresponding to the object function. Here, the object function containing the DML statement can also be called the analysis object, and the dependent object functions are the functions called by the analyzed object.
[0103] In one possible implementation, the execution plan generated by the computing device also includes the operation type, the estimated number of output rows, and the estimated output width. The operation type can be, for example, nested loops, full table scans, and index scans. The estimated number of output rows is the estimated number of rows to be output, and the estimated output width is the estimated number of bytes per row. Both the estimated number of output rows and the estimated output width can reflect query performance.
[0104] In this embodiment, the execution plan generated by the computing device contains multiple fields, each providing different information. For example, the execution plan includes a "query text" field, which indicates the text content of the SQL query that triggered the execution plan, including the DML statement to be analyzed. Another example is the "cost" field, which indicates the performance evaluation metrics of the DML statement. Yet another example is the "PL / pgSQL" field, which indicates the location of the object function.
[0105] Please refer to Figure 4, which is a schematic diagram of an execution plan provided in an embodiment of this application. In the example shown in Figure 4, the DML statement in the execution plan obtained by the business server 102 is, for example, "insert into employees4(id,name)values(v_id,v_name)". The cost value corresponding to this DML statement is "cost=0.00..0.01", which means that the estimated execution cost of this DML statement is 0.00 to 0.01.
[0106] In the example shown in Figure 4, the execution plan also includes the location of the object function where the DML statement is located. For example, the object functions corresponding to the above DML statement "insert_into employees4(id,name)values(v_id,v_name)" include "function test_insert_1line 3at SQL statement" and "function test_if_cur(integer)line 4l at assignment".
[0107] In one possible implementation, after the computing device generates an execution plan based on the object function, it can analyze the execution plan to obtain the performance analysis results corresponding to the execution plan. These performance analysis results indicate DML statements in the object function whose performance evaluation metrics are below a threshold.
[0108] For example, in the performance analysis results generated by the computing device, if the cost value of a certain DML statement in the object function is determined to be greater than or equal to 0.1, then the performance evaluation index of the DML statement is determined to be lower than the threshold. At this time, the performance analysis results indicate that the performance of the DML statement in the object function does not meet the requirements, and the computing device needs to optimize the DML statement.
[0109] Please refer to Figure 3. In steps 4 and 5 of the example shown in Figure 3, after the business server 102 writes the modified object function back to the target database 1012, the business server 102 calls the object function via JDBC to obtain the execution plan. After obtaining the execution plan, the business server 102 further analyzes the execution plan, identifying DML statements in the object function whose performance evaluation metrics are below the threshold, thereby identifying poor-performing DML statements and optimizing these DML statements.
[0110] 203. The computing device displays the performance analysis results corresponding to the execution plan. The performance analysis results are used to identify DML statements in one or more DML statements whose performance evaluation indicators are below the threshold.
[0111] After the computing device generates the performance analysis results corresponding to the execution plan, it displays the performance analysis results on the display interface. The performance analysis results are used to identify DML statements in one or more DML statements whose performance evaluation indicators are lower than the threshold.
[0112] In one possible implementation, the computing device may also be able to display the execution plan on the display interface, including displaying one or more of the following: DML statements, cost values, analysis object functions, dependency object functions, etc.
[0113] Please refer to Figure 3. In step 6 of the example shown in Figure 3, after calculating the performance analysis results of the device execution plan, the performance analysis results corresponding to the execution plan are displayed on the display interface. The displayed content includes DML statements whose performance evaluation indicators are lower than the threshold, as well as the cost values, analysis object functions, and dependent object functions corresponding to these DML statements.
[0114] As can be seen from the above embodiments, in the embodiments of this application, the computing device can modify the object function to be analyzed based on the reorganization logic, so that the execution plan generated by the computing device based on the modified object function contains all the identified DML statements in the object function. The computing device can directly analyze the performance evaluation indicators of specific DML statements from the execution plan, thereby improving the efficiency of the execution plan analysis of the structured query language.
[0115] Based on the above method embodiments, this application also provides an execution plan analysis device for structured query language. The execution plan analysis device for structured query language provided in this application is described in detail below.
[0116] Please refer to Figure 5, which is a schematic diagram of the structure of an execution plan analysis device for a structured query language provided in an embodiment of this application. In the example shown in Figure 5, the execution plan analysis device 500 for a structured query language is used to implement the various steps executed by the memory management system in the above embodiments. The execution plan analysis device 500 for a structured query language includes a processing unit 501 and a display unit 502.
[0117] The processing unit 501 is used to determine the object functions of the target database. These object functions include Structured Query Language (SQL) statements modified based on reorganization logic. The reorganization logic is used to identify Data Manipulation Language (DML) statements within the object functions in the execution plan. The processing unit 501 is also used to generate an execution plan based on the object functions. The execution plan indicates the performance evaluation metrics corresponding to one or more DML statements calling the object functions. The display unit 502 is used to display the performance analysis results corresponding to the execution plan. These performance analysis results are used to identify DML statements whose performance evaluation metrics are below a threshold.
[0118] In one possible implementation, the processing unit 501 is specifically used to modify the data definition language (DDL) statements in the object function based on the reorganization logic, so that the object function satisfies one or more of the following: all DML statements in the object function are executed, the DML statements in the object function are executed once, and the object function supports exception handling.
[0119] In one possible implementation, the processing unit 501 is specifically used to delete the conditional code in the object function based on the reorganization logic, so that the DML statements in the conditional code are executed.
[0120] In one possible implementation, the processing unit 501 is specifically used to modify the loop code in the object function based on the reorganization logic, so that the DML statements in the loop code are executed once.
[0121] In one possible implementation, the processing unit 501 is specifically used to add exception-catching code to the object function based on the reorganization logic, so that the object function supports exception catching.
[0122] In one possible implementation, the processing unit 501 is further configured to write the modified object function back to the target database. The object function includes one or more of the following: function object function, stored procedure object function, and package function.
[0123] In one possible implementation, the processing unit 501 is further configured to assign values to variables involved in DML statements in the object function so that the DML statements in the object function can be executed. The data types of the variables include one or more of the following: basic data types, row types, column types, array types, and other types.
[0124] In one possible implementation, the processing unit 501 is specifically used to generate an execution plan by calling an object function through a JDBC connection to the database. The execution plan includes one or more of the following: DML statement, performance evaluation metrics corresponding to the DML statement, object function containing the DML statement, and dependent object functions corresponding to the object function.
[0125] In one possible implementation, the processing unit 501 is further configured to set the calling parameters, which indicate one or more of the following: the automatic generation of the execution plan setting status and the log level of the execution plan.
[0126] It is understandable that the processing unit 501 and the display unit 502 in the structured query language execution plan analysis device 500 can be mapped as functional modules to the various modules in the execution plan analysis system 10 in Figure 1, thereby realizing the functions of the various modules in the execution plan analysis system 10.
[0127] It should be understood that the division of units in the above device is merely a logical functional division. In actual implementation, they can be fully or partially integrated into a single physical entity, or they can be physically separated. Furthermore, all units in the device can be implemented entirely through software calls from processing elements; all units can be implemented entirely in hardware; or some units can be implemented through software calls from processing elements, and others in hardware. For example, each unit can be a separate processing element, or it can be integrated into a chip within the device. Alternatively, it can be stored as a program in memory, called and executed by a processing element of the device. Moreover, these units can be fully or partially integrated together, or implemented independently. The processing element mentioned here can also be called a processor, which can be an integrated circuit with signal processing capabilities. In the implementation process, each step of the above method or each of the above units can be implemented through integrated logic circuits in the processor element or through software calls from processing elements.
[0128] It is worth noting that, for the sake of simplicity, the above method embodiments are described as a series of actions. However, those skilled in the art should know that this application is not limited to the order of the described actions. Furthermore, those skilled in the art should also know that the embodiments described in the specification are all preferred embodiments, and the actions involved are not necessarily required by this application.
[0129] Other reasonable combinations of steps that can be conceived by those skilled in the art based on the above description also fall within the scope of protection of this application. Furthermore, those skilled in the art should also be aware that the embodiments described in the specification are preferred embodiments, and the actions involved are not necessarily essential to this application.
[0130] Please refer to Figure 6, which is a schematic diagram of the structure of a computing device provided in an embodiment of this application. As shown in Figure 6, the computing device 600 includes: a processor 601, a memory 602, a communication interface 603, and a bus 604. The processor 601, the memory 602, and the communication interface 603 are coupled through the bus 604. The memory 602 stores instructions. When the execution instructions in the memory 602 are executed, the computing device 600 executes the method executed by the analysis system of the execution plan in the above method embodiment.
[0131] The computing device 600 may be one or more integrated circuits configured to implement the methods described above, such as: one or more application-specific integrated circuits (ASICs), or one or more digital signal processors (DSPs), or one or more field-programmable gate arrays (FPGAs), or a combination of at least two of these forms of integrated circuits. Furthermore, when the units in the device can be implemented in the form of a processing element scheduler, the processing element may be a general-purpose processor, such as a central processing unit (CPU) or other processor capable of calling programs. Alternatively, these units may be integrated together to implement a system-on-a-chip (SOC).
[0132] Processor 601 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. A general-purpose processor may be a microprocessor or any conventional processor.
[0133] Memory 602 can be volatile memory or non-volatile memory, or may include both. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM).
[0134] The memory 602 stores executable program code, and the processor 601 executes the executable program code to implement the functions of the aforementioned units or modules, thereby implementing the above-mentioned structured query language execution plan analysis method. That is, the memory 602 stores instructions for executing the above-mentioned structured query language execution plan analysis method.
[0135] The communication interface 603 uses transceiver modules, such as, but not limited to, network interface cards and transceivers, to enable communication between the computing device 600 and other devices or communication networks.
[0136] In addition to the data bus, the 604 bus can also include a power bus, a control bus, and a status signal bus. The bus can be a Peripheral Component Interconnect Express (PCIe) bus, an Extended Industry Standard Architecture (EISA) bus, a Unified Bus (Ubus or UB), a Compute Express Link (CXL) bus, a Cache Coherent Interconnect for Accelerators (CCIX) bus, etc. The bus can be divided into address bus, data bus, and control bus.
[0137] Please refer to Figure 7, which is a schematic diagram of a computing device cluster provided in an embodiment of this application. As shown in Figure 7, the computing device cluster 700 includes at least one computing device 600.
[0138] As shown in Figure 7, the computing device cluster 700 includes at least one computing device 600. The memory 602 of one or more computing devices 600 in the computing device cluster 700 may store the same instructions for executing the execution plan analysis method of the structured query language described above.
[0139] In some possible implementations, the memory 602 of one or more computing devices 600 in the computing device cluster 700 may also store partial instructions for executing the execution plan analysis method of the structured query language described above. In other words, a combination of one or more computing devices 600 can jointly execute the instructions for executing the execution plan analysis method of the structured query language described above.
[0140] It should be noted that the memories 602 in the different computing devices 600 within the computing device cluster 700 can store different instructions, each used to execute a portion of the functions of the aforementioned node load control device. That is, the instructions stored in the memories 602 of the different computing devices 600 can implement the functions of one or more modules in the processing unit and display unit.
[0141] In some possible implementations, one or more computing devices 600 in the computing device cluster 700 can be connected via a network. This network can be a wide area network (WAN) or a local area network (LAN), etc.
[0142] Please refer to Figure 8, which is a schematic diagram of computer devices in a computer cluster connected via a network according to an embodiment of this application. As shown in Figure 8, two computing devices 600A and 600B are connected via a network. Specifically, they are connected to the network through the communication interfaces in each computing device.
[0143] In one possible implementation, the memory in computing device 600A stores instructions for performing the functions of the processing unit. Meanwhile, the memory in computing device 600B stores instructions for performing the functions of the display unit.
[0144] It should be understood that the functions of computing device 600A shown in Figure 8 can also be performed by multiple computing devices. Similarly, the functions of computing device 600B can also be performed by multiple computing devices.
[0145] In another embodiment of this application, a computer-readable storage medium is also provided, which stores computer-executable instructions. When the processor of the device executes the computer-executable instructions, the device executes the method executed by the analysis system of the execution plan in the above method embodiment.
[0146] In another embodiment of this application, a computer program product is also provided, which includes computer-executable instructions stored in a computer-readable storage medium. When the processor of the device executes the computer-executable instructions, the device performs the method executed by the analysis system of the execution plan in the above method embodiments.
[0147] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0148] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection between apparatuses or units through some interfaces, and may be electrical, mechanical, or other forms.
[0149] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0150] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0151] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
Claims
1. A method for analyzing the execution plan of the Structured Query Language (SQL), characterized in that, The method includes: Identify object functions of the target database, the object functions including Structured Query Language (SQL) statements modified based on reorganization logic, the reorganization logic being used to identify Data Manipulation Language (DML) statements in the object functions in the execution plan; The execution plan is generated based on the object function, and the execution plan is used to indicate the performance evaluation metrics corresponding to one or more DML statements in the object function. The performance analysis results corresponding to the execution plan are displayed. These results are used to identify DML statements whose performance evaluation metrics are below a threshold among the one or more DML statements.
2. The method according to claim 1, characterized in that, The object function for determining the target database includes: Based on the reorganization logic, the Data Definition Language (DDL) statements in the object function are modified so that the object function satisfies one or more of the following: all DML statements in the object function are executed, the DML statements in the object function are executed only once, and the object function supports exception handling.
3. The method according to claim 2, characterized in that, The modification of the Data Definition Language (DDL) statements in the object function based on the reorganization logic includes: The conditional code in the object function is deleted based on the reorganization logic, so that the DML statements in the conditional code are executed.
4. The method according to claim 2, characterized in that, The modification of the Data Definition Language (DDL) statements in the object function based on the reorganization logic includes: Modify the loop code in the object function based on the reorganization logic so that the DML statements in the loop code are executed only once.
5. The method according to claim 2, characterized in that, The modification of the Data Definition Language (DDL) statements in the object function based on the reorganization logic includes: Based on the reorganization logic, exception handling code is added to the object function to enable the object function to support exception handling.
6. The method according to any one of claims 2 to 5, characterized in that, After modifying the Data Definition Language (DDL) statements in the object function based on the reorganization logic, the method further includes: The modified object function is written back to the target database. The object function includes one or more of the following: function object function, stored procedure object function, and package function.
7. The method according to any one of claims 1 to 6, characterized in that, Before generating the execution plan based on the object function, the method further includes: The variables involved in the DML statements in the object function are assigned values so that the DML statements in the object function can be executed. The data types of the variables include one or more of the following: basic data types, row types, column types, array types, and other types.
8. The method according to any one of claims 1 to 7, characterized in that, The process of generating the execution plan based on the object function includes: An execution plan is generated by calling the object function through a JDBC connection to the database. The execution plan includes one or more of the following: DML statement, performance evaluation metrics corresponding to the DML statement, the object function containing the DML statement, and the dependent object functions corresponding to the object function.
9. The method according to claim 8, characterized in that, Before generating the execution plan by calling the object function via JDBC connection to the database, the method further includes: Configure the call parameters, which indicate one or more of the following: automatically generate execution plan settings status and execution plan log level.
10. An execution plan analysis device for Structured Query Language (SQL), characterized in that, The device includes: A processing unit is used to determine the object function of the target database, the object function including a Structured Query Language (SQL) statement modified based on reorganization logic, the reorganization logic being used to identify Data Manipulation Language (DML) statements in the object function in the execution plan; The processing unit is also configured to generate the execution plan based on the object function, wherein the execution plan is used to indicate the performance evaluation metrics corresponding to one or more DML statements in the object function; The display unit is used to display the performance analysis results corresponding to the execution plan. The performance analysis results are used to identify DML statements whose performance evaluation indicators are lower than the threshold among one or more DML statements.
11. The apparatus according to claim 10, characterized in that, The processing unit is specifically used for: Based on the reorganization logic, the Data Definition Language (DDL) statements in the object function are modified so that the object function satisfies one or more of the following: all DML statements in the object function are executed, the DML statements in the object function are executed only once, and the object function supports exception handling.
12. The apparatus according to claim 11, characterized in that, The processing unit is specifically used for: The conditional code in the object function is deleted based on the reorganization logic, so that the DML statements in the conditional code are executed.
13. The apparatus according to claim 11, characterized in that, The processing unit is specifically used for: Modify the loop code in the object function based on the reorganization logic so that the DML statements in the loop code are executed only once.
14. The apparatus according to claim 11, characterized in that, The processing unit is specifically used for: Based on the reorganization logic, exception handling code is added to the object function to enable the object function to support exception handling.
15. The apparatus according to any one of claims 11 to 14, characterized in that, The processing unit is also used for: The modified object function is written back to the target database. The object function includes one or more of the following: function object function, stored procedure object function, and package function.
16. The apparatus according to any one of claims 10 to 15, characterized in that, The processing unit is also used for: The variables involved in the DML statements in the object function are assigned values so that the DML statements in the object function can be executed. The data types of the variables include one or more of the following: basic data types, row types, column types, array types, and other types.
17. The apparatus according to any one of claims 10 to 16, characterized in that, The processing unit is specifically used for: An execution plan is generated by calling the object function through a JDBC connection to the database. The execution plan includes one or more of the following: DML statement, performance evaluation metrics corresponding to the DML statement, the object function containing the DML statement, and the dependent object functions corresponding to the object function.
18. The apparatus according to claim 17, characterized in that, The processing unit is also used for: Configure the call parameters, which indicate one or more of the following: automatically generate execution plan settings status and execution plan log level.
19. A computing device, characterized in that, The device includes a processor coupled to a memory, the processor storing instructions which, when executed by the processor, cause the computing device to perform the method of any one of claims 1 to 9.
20. A computing device cluster, characterized in that, The device includes at least one computing device, the computing device including a processor coupled to a memory, the processor being used to store instructions that, when executed by the processor, cause the cluster of computing devices to perform the method of any one of claims 1 to 9.
21. A computer-readable storage medium having instructions stored thereon, characterized in that, When the instructions are executed, they cause the computer to perform the method of any one of claims 1 to 9.
22. A computer program product, the computer program product comprising instructions, characterized in that, When the instructions are executed, they cause the computer to perform the method of any one of claims 1 to 9.