IP Library Granted Patent US 11,243,950
Granted Patent B2
US 11,243,950 · App. 17/391,882 · Granted Feb 8, 2022

Database query plan selection

Inventor: Mengmeng Chen (Hangzhou, CN)
Assignee: Beijing OceanBase Technology Co., Ltd.
G06F16/24542G06F16/2282G06F16/24524G06F16/24539G06K9/6215
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,243,950
App. No.
17/391,882
Granted
Feb 8, 2022
Kind
B2
Abstract

A computer-implemented database access method includes receiving, by a server, a database access statement including a target identifying parameter; parsing the database access statement to determine the target identifying parameter; determining a statement type of the database access statement; obtaining a pre-stored execution plan group corresponding to the statement type, the pre-stored execution plan group including one or more execution plans for accessing a database corresponding to the database access statement, in which each execution plan corresponds to a different respective identifying parameter; selecting a target execution plan from the pre-stored execution plan group based on the target identifying parameter; and executing the target execution plan.

Claims (61)

1. A computer-implemented database access method, comprising:

receiving, by a server, a database access statement comprising a target identifying parameter and one or more objects;

parsing the database access statement to determine the target identifying parameter;

parameterizing the database access statement to obtain a parameterized database access statement, wherein parameterizing the database access statement comprises replacing at least one object of the one or more objects with an object group parameter;

determining a statement type of the database access statement based on the parameterized database access statement;

selecting, from a plurality of different pre-stored execution plan groups, a first pre-stored execution plan group corresponding to the statement type, wherein the first pre-stored execution plan group comprises a plurality of execution plans for accessing a database corresponding to the database access statement, each execution plan of the plurality of execution plans corresponding to a different respective identifying parameter, and

wherein each different pre-stored execution plan group corresponds to a different respective statement type;

selecting a target execution plan from the first pre-stored execution plan group based on the target identifying parameter; and

executing the target execution plan.

2. The computer-implemented method of claim 1 , wherein replacing the at least one object of the one or more objects with the object group parameter comprises:

extracting the one or more objects from the database access statement;

determining an object type group to which the at least one object of the one or more objects belongs; and

replacing, in the database access statement, the at least one object with the object group parameter, wherein the object group parameter corresponds to the object type group to which the at least one object belongs.

3. The computer-implemented method of claim 1 , wherein parameterizing the database access statement comprises replacing, in the database access statement, the target identifying parameter with a wildcard.

4. The computer-implemented method of claim 1 , wherein selecting the target execution plan from the first pre-stored execution plan group based on the target identifying parameter comprises:

calculating respective parameters distances between the target identifying parameter and one or more other identifying parameters, the one or more other identifying parameters corresponding respectively to one or more execution plans of the plurality of execution plans in the first pre-stored execution plan group; and

selecting, as the target execution plan, an execution plan of the one or more execution plans that corresponds to a parameter distance that is less than a distance threshold.

5. The computer-implemented method of claim 1 , wherein the one or more objects comprise a table of the database.

6. The computer-implemented method of claim 1 , wherein the one or more objects are grouped into one or more object type groups based on respective table parameters of the one or more objects.

7. The computer-implemented method of claim 1 , wherein the target identifying parameter comprises at least one of an integer, a floating-point number, or a string.

8. A non-transitory, computer-readable medium storing one or more instructions that, when executed by a computer system, cause the computer system to perform database access operations comprising:

receiving a database access statement comprising a target identifying parameter and one or more objects;

parsing the database access statement to determine the target identifying parameter;

parameterizing the database access statement to obtain a parameterized database access statement, wherein parameterizing the database access statement comprises replacing at least one object of the one or more objects with an object group parameter;

determining a statement type of the database access statement based on the parameterized database access statement;

selecting, from a plurality of different pre-stored execution plan groups, a first pre-stored execution plan group corresponding to the statement type, wherein the first pre-stored execution plan group comprises a plurality of execution plans for accessing a database corresponding to the database access statement, each execution plan of the plurality of execution plans corresponding to a different respective identifying parameter, and

wherein each different pre-stored execution plan group corresponds to a different respective statement type;

selecting a target execution plan from the first pre-stored execution plan group based on the target identifying parameter; and

executing the target execution plan.

9. The non-transitory, computer-readable medium of claim 8 , wherein replacing the at least one object of the one or more objects with the object group parameter comprises:

extracting the one or more objects from the database access statement;

determining an object type group to which the at least one object of the one or more objects belongs; and

replacing, in the database access statement, the at least one object with the object group parameter, wherein the object group parameter corresponds to the object type group to which the at least one object belongs.

10. The non-transitory, computer-readable medium of claim 8 , wherein parameterizing the database access statement comprises replacing, in the database access statement, the target identifying parameter with a wildcard.

11. The non-transitory, computer-readable medium of claim 8 , wherein selecting the target execution plan from the first pre-stored execution plan group based on the target identifying parameter comprises:

calculating respective parameters distances between the target identifying parameter and one or more other identifying parameters, the one or more other identifying parameters corresponding respectively to one or more execution plans of the plurality of execution plans in the first pre-stored execution plan group; and

selecting, as the target execution plan, an execution plan of the one or more execution plans that corresponds to a parameter distance that is less than a distance threshold.

12. The non-transitory, computer-readable medium of claim 8 , wherein the one or more objects comprise a table of the database.

13. The non-transitory, computer-readable medium of claim 8 , wherein the one or more objects are grouped into one or more object type groups based on respective table parameters of the one or more objects.

14. The non-transitory, computer-readable medium of claim 8 , wherein the target identifying parameter comprises at least one of an integer, a floating-point number, or a string.

15. A computer-implemented system, comprising:

one or more computers; and

one or more computer memory devices interoperably coupled with the one or more computers and having tangible, non-transitory, machine-readable media storing one or more instructions that, when executed by the one or more computers, cause the one or more computers to perform database access operations comprising:

receiving a database access statement comprising a target identifying parameter and one or more objects;

parsing the database access statement to determine the target identifying parameter;

parameterizing the database access statement to obtain a parameterized database access statement, wherein parameterizing the database access statement comprises replacing at least one object of the one or more objects with an object group parameter;

determining a statement type of the database access statement based on the parameterized database access statement;

selecting, from a plurality of different pre-stored execution plan groups, a first pre-stored execution plan group corresponding to the statement type, wherein the first pre-stored execution plan group comprises a plurality of execution plans for accessing a database corresponding to the database access statement, each execution plan of the plurality of execution plans corresponding to a different respective identifying parameter, and

wherein each different pre-stored execution plan group corresponds to a different respective statement type;

selecting a target execution plan from the first pre-stored execution plan group based on the target identifying parameter; and

executing the target execution plan.

16. The computer-implemented system of claim 15 , wherein replacing the at least one object of the one or more objects with the object group parameter comprises:

extracting the one or more objects from the database access statement;

determining an object type group to which the at least one object of the one or more objects belongs; and

replacing, in the database access statement, the at least one object with the object group parameter, wherein the object group parameter corresponds to the object type group to which the at least one object belongs.

17. The computer-implemented system of claim 15 , wherein parameterizing the database access statement comprises replacing, in the database access statement, the target identifying parameter with a wildcard.

18. The computer-implemented system of claim 15 , wherein selecting the target execution plan from the first pre-stored execution plan group based on the target identifying parameter comprises:

calculating respective parameters distances between the target identifying parameter and one or more other identifying parameters, the one or more other identifying parameters corresponding respectively to one or more execution plans of the plurality of execution plans in the first pre-stored execution plan group; and

selecting, as the target execution plan, an execution plan of the one or more execution plans that corresponds to a parameter distance that is less than a distance threshold.

19. The computer-implemented system of claim 15 , wherein the one or more objects comprise a table of the database.

20. The computer-implemented system of claim 15 , wherein the one or more objects are grouped into one or more object type groups based on respective table parameters of the one or more objects.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 1, 2021
From: CHEN, MENGMENG
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 057665/0945 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 1, 2021
From: ADVANCED NEW TECHNOLOGIES CO., LTD.
To: ANT FINANCIAL (HANG ZHOU) NETWORK TECHNOLOGY CO., LTD.
Reel/Frame 057666/0060 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 1, 2021
From: ALIBABA GROUP HOLDING LIMITED
To: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
Reel/Frame 057680/0412 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 1, 2021
From: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
To: ADVANCED NEW TECHNOLOGIES CO., LTD.
Reel/Frame 057680/0503 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2021
From: ANT FINANCIAL (HANG ZHOU) NETWORK TECHNOLOGY CO., LTD.
To: BEIJING OCEANBASE TECHNOLOGY CO., LTD.
Reel/Frame 057349/0070 →