CN103678589A - Database kernel query optimization method based on equivalence class - Google Patents

Database kernel query optimization method based on equivalence class Download PDF

Info

Publication number
CN103678589A
CN103678589A CN201310681482.7A CN201310681482A CN103678589A CN 103678589 A CN103678589 A CN 103678589A CN 201310681482 A CN201310681482 A CN 201310681482A CN 103678589 A CN103678589 A CN 103678589A
Authority
CN
China
Prior art keywords
equivalence class
eclass
col
rel
variable
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201310681482.7A
Other languages
Chinese (zh)
Other versions
CN103678589B (en
Inventor
宋晓眉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yonyou Software Co Ltd
Original Assignee
Yonyou Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yonyou Software Co Ltd filed Critical Yonyou Software Co Ltd
Priority to CN201310681482.7A priority Critical patent/CN103678589B/en
Publication of CN103678589A publication Critical patent/CN103678589A/en
Application granted granted Critical
Publication of CN103678589B publication Critical patent/CN103678589B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24542Plan optimisation
    • G06F16/24544Join order optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Operations Research (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The invention belongs to the field of software, and provides a database kernel query optimization method based on an equivalence class. The method comprises the steps of using a function for processing description after the keyword 'from' and before the keyword 'where' in sql sentences after inquire statements enter a sub query optimizer, processing a nest tree structure with explicit connection or a linked list with no connection mode assigned, extracting list information, obtaining list objects, initializing the Col and Eclass bit variables contained by the list objects, and filling a linked list RELS; processing the restricted condition linked list 'quals' after the 'on' and after the 'where' in the sql sentences, and carrying out transmission on the restricted conditions according to the Eclass bit variables; entering an enumerator, enlarging planed searching space according to the Eclass bit variables, enumerating more equivalence plans, and entering a cost calculator to count cost; obtaining the plan with the minimum cost as a final execution plan, wherein the execution plan is compiled into an execution tree, and the execution plan is sent to an actuator to be executed. The database kernel query optimization method based on the equivalence class has the advantages of being high in performance.

Description

A kind of database kernel enquiring and optimizing method based on equivalence class
Technical field
The invention belongs to software field, relate in particular to a kind of database kernel enquiring and optimizing method based on equivalence class.
Background technology
No matter the overall architecture of early stage data base management system (DBMS), be from security or the consideration of internal memory hardware environment, is all that the angle that takies less internal memory designs.So the data retrieval executable operations of most of traditional relational has all adopted a demand---the streamline mechanism (a demand-pull pipeline mechanism) pulling: system is called a plan node (plan node) at every turn, and this obtains a record or null record by the node from below.In internal memory, resident data page number only has at most query tree leaf node number, and this mechanism can be saved the use of internal memory significantly, and it can be applied to efficiently list and show the work such as the simple extraction of data, checking.But when the connection of the multilist of relational database management system or complicated calculations, often need mass data terminate-and-stay-resident.The memory techniques high speed development of present computing machine, the memory size of allocation of computer is in continuous growth, and database kernel is also updated with this.In original demand---under the streamline mechanism that pulls, in the middle of traditional database kernel starts to allow, the data of leaf node are resident.Like this, new problem occurs, when the data of middle leaf node surpass internal memory too greatly, the data of internal memory can be just mutual with disk, and disk exists as virtual memory, under this scene, Database Systems are because the operation of IO frequently reduces rapidly performance, therefore, in the middle of reducing, the data volume of leaf node, not still to a large amount of minimizings of CPU below, is also important optimization means of IO as far as possible.
The table that uses equivalence class to connect equivalence in traditional relational carries out mark, the equivalent articulation set of equivalence class mark, be placed in the bottom of threaded tree, preferentially connected, the benefit of doing is like this to have avoided cartesian product (cart-prod) to connect first to carry out, so the heuristic strategies based on equivalence class can reduce the plan search volume of query optimization module to a great extent.On the other hand, equivalence class is the key concept in discrete mathematics, self has reflexivity, symmetry and transitivity; It is used as the important means of Data Reduction in a large number in fields such as knowledge discovery in database, but, available data base management system does not make full use of the attribute reduction characteristic of equivalence class in query optimization module, and equivalence class member's filtercondition is shared.Insufficient utilization of these characteristics of equivalence class directly causes database kernel to lose the chance of filtering data early, makes intermediate result excessive, causes the consumption of CPU and IO huge, finally causes the decline of data base querying performance.
Moreover database management system is to use cost-based query optimization method (COST BASED OPTIMIZATION) mostly.It is planned that optimizer based on cost will enumerate institute as much as possible, calculates the cost of each plan, and finally select the scheduled transfer of Least-cost to actuator.Traditional database does not make full use of the function that equivalence class excavates potential information, has missed the inquiry plan of more optimizing, and directly causes the reduction of final query execution performance.For example, optimizer does not make full use of equivalence class and makes not get the potential characteristic of relation data base table, may make base table can not filter enough data, then makes optimizer be not activated index, finally causes recall precision to reduce.
Summary of the invention
The object of the embodiment of the present invention is to provide a kind of database kernel enquiring and optimizing method based on equivalence class, and it solves the low problem of some query performance of database that prior art exists.
The embodiment of the present invention is achieved in that one side, and a kind of database kernel enquiring and optimizing method based on equivalence class is provided, and described method comprises:
After triggering query optimization, after entering subquery optimizer, use function to process the description after keyword from and before keyword where in sql statement: the nested tree construction or the chained list of not specifying connected mode that enter explicit connection, extract table information, obtain table object, its Col comprising of initialization and Eclass bit variable, fill chained list RELS.
Process the restrictive condition chained list quals after in sql statement;
Process the description after where in sql statement;
Traversal DISTINCT, ORDER BY, GROUP BY belong to the chained list of row characteristic, according to Eclass variable, find its corresponding equivalence class, these characteristics are risen to the characteristic of whole equivalence class; Equivalence class is delivered to these characteristics in its each member; Each member of parity price class adds these characteristics and can use for Optimum Operation below;
Quals chained list in traversal sql, the qual of each monocular is found to corresponding row, according to the Eclass object of row object REL, find a corresponding unique equivalence class, according to the bitmap variable Col of this equivalence class, find other row, by monocular constraint condition qual be sent to these row members among;
Enter enumerator, whenever producing a pair of initial conditions, judge whether a pair of initial conditions exists in equivalence class, as existed, enter cost calculator; Obtain the final executive plan of being intended to be of minimum cost, executive plan is compiled into carries out tree, is sent in actuator and carries out.
Optionally, the described rule that judges whether a pair of initial conditions exists in equivalence class specifically comprises:
Calculate phase and the operating result of the bitmap variable Eclass in two table object REL in a pair of initial conditions, if non-vanishing with operating result, determine in equivalence class and exist equivalence associated; Otherwise, do not exist equivalent associated.
Optionally, in described processing sql statement, the restrictive condition chained list quals after on specifically comprises:
Obtain row object, it comprises variable R el and Eclass initialization; Rel, according to existing REL object value, generates an equivalence class object EC according to COL, and Rel is generated as according to this EC the Eclass assignment that it comprises, and final COL fills COLS chained list; Meanwhile, the equivalence class object of this generation is its Rel and Col variable assignments according to existing RELS and COLS.
Optionally, the equivalence class object of described generation comprises for its Rel and Col variable assignments according to existing RELS and COLS:
Find effective equivalent connection that inner connects; If there is effectively equivalent connection, should check that ECS looks at whether individualism of two equivalence classes relating to, in this way, merges to these two equivalence classes in an equivalence class, another equivalence class, by disallowable, will be revised the Eclass variable in REL and COL simultaneously.
Optionally, in described processing sql statement, the description after where comprises:
Get back to the target chained list in sql statement, before select, after from, arrange other column information, formation object COL, assignment Rel and Eclass variable, continue to fill COLS chained list; And add corresponding equivalence class.
In embodiments of the present invention, technical scheme provided by the invention makes full use of the transitivity of equivalence class, the attribute of a member in equivalence class is delivered to other all members of this equivalence class, for optimizing, carry out basis, and finally realize new optimisation strategy, so it has advantages of the data base querying of raising performance.
Accompanying drawing explanation
Fig. 1 is the process flow diagram of a kind of database kernel enquiring and optimizing method based on equivalence class provided by the invention;
Fig. 2 is the broken line graph that the embodiment of the present invention provides the execution time of different filterconditions.
Embodiment
In order to make object of the present invention, technical scheme and advantage clearer, below in conjunction with drawings and Examples, the present invention is further elaborated.Should be appreciated that specific embodiment described herein, only in order to explain the present invention, is not intended to limit the present invention.
First, the specific embodiment of the present invention need to define three overall chained list RELS, COLS, ECS and be used for being respectively stored in table object, row object and the equivalence class object successively generating in query statement analytic process.RELS storage list object (REL), REL comprises two bit variable Col and Eclass, represents the associated of this table object REL and other row objects or equivalence class object; COLS memory row object COL, row object comprises two bit variable Rel and Eclass, represents the associated of this row object COL and other table objects or equivalence class object; ECS storage equivalence class object EC, EC comprises two bit variable Rel and Col, represents the associated of this equivalence class object EC and other table objects or row object.
The specific embodiment of the invention provides a kind of database kernel enquiring and optimizing method based on equivalence class, and the method as shown in Figure 1, comprising:
101, after triggering query optimization, after entering subquery optimizer, use function (process_from_clause, this function can be also other forms of function) to process the description after keyword from and before keyword where in sql statement (or sub-sql statement)
: enter nested tree construction or a chained list of not specifying connected mode of explicit connection, extract table information, obtain table object (REL), its Col comprising of initialization and Eclass bit variable, fill chained list RELS.
If 102 exist explicit connection, process the restrictive condition chained list quals after in sql statement (or sub-sql statement); Obtain row object (COL), it comprises variable R el and Eclass initialization; Rel, according to existing REL object value, generates an equivalence class object EC according to COL, and Rel is generated as according to this EC the Eclass assignment that it comprises, and final COL fills COLS chained list; Meanwhile, the equivalence class object of this generation is its Rel and Col variable assignments according to existing RELS and COLS.Find effective equivalent connection that inner connects.Non-inner connects the row that are designed into and can not add and in equivalence class, form new equivalence class object Eclass.If there is effectively equivalent connection, should check that ECS looks at whether individualism of two equivalence classes relating to, in this way, these two equivalence classes are merged in an equivalence class, another equivalence class is by disallowable.To revise the Eclass variable in REL and COL simultaneously.
103, process the description after where in sql statement.Get back to the target chained list (before select, after from) in sql statement, arrange other column information, formation object COL, assignment Rel and Eclass variable, continue to fill COLS chained list; And adding corresponding equivalence class, this equivalence class, if newly-generated, so generally just only has an equivalence class member.
104, after traversal DISTINCT, ORDER BY, GROUP BY(, can process as sequence) etc. belong to the chained list of row characteristic, according to Eclass variable, find its corresponding equivalence class, these characteristics are risen to the characteristic of whole equivalence class.Equivalence class is delivered to these characteristics in its each member (row); Each member of parity price class adds these characteristics and can use for Optimum Operation below.
105, the quals chained list in traversal sql, finds corresponding row to the qual of each monocular.According to the Eclass object of row object REL, find a corresponding unique equivalence class, according to the bitmap variable Col of this equivalence class, find other row.By monocular constraint condition qual(A>2 for example) be sent among these row members.
106, enter enumerator, whenever producing a pair of initial conditions, judge whether a pair of initial conditions exists in equivalence class, as existed, enter cost calculator.The rule of judgement is to calculate phase and the operating result of the bitmap variable Eclass in two table object REL in a pair of initial conditions, if non-vanishing with operating result, means that so these two tables can carry out equivalence association, can carry out attended operation; Otherwise, do not exist equivalent associated and carry out attended operation meeting and cause the bottom child node of an equivalence class node to occur that Descartes connects, finally produce the bad luck plan that an intermediate result will be very huge.
107, enter cost calculator, obtain the final executive plan of being intended to be of minimum cost, executive plan is compiled into carries out tree, is sent in actuator and carries out.
Embodiment
Suppose to exist table t1, t2 and t3, t1, t2 and t3 have respectively two row col1 and col2.For query statement: " select t1.col1; t2.col2; t3.col2from t1; t2; t3where t1.col1=t2.col2and t2.col2=t3.col1and t1.col1>0.9order by t2.col2 ", according to thinking of the present invention, concrete flow process is as follows:
1, enter inquiry plan device, circulation enters subquery planner, and overall chained list RELS, COLS, ECS are used for being respectively stored in table object, row object and the equivalence class object generating in query statement analytic process.Initialization chained list is as shown in table 1.When the number of object structure surpasses eight, bitmap variable (as Rel Col Eclass) can dynamic load, just with the position of a byte, illustrates and gives an example here.Overall situation bit variable is recording the Id numbering of each object, and Rel in object Col associated between the corresponding and variable of Eclass record and global variable.
Table 1: initialization overall situation chained list RELS, COLS, ECS
Figure BDA0000436493830000061
2,, after entering subquery optimizer, process table t1, t2 and t3 after keyword from, before keyword where in sql statement.Global variable RELS initialization, as shown in table 2.Continue to process on clause, because this example does not have on clause, can not find the information of row and the information of inner join, so Col and Eclass do not change.
Table 2: global variable RELS initialization
Figure BDA0000436493830000071
3, enter in where clause's processing,, there is the equivalent description t1.col1=t2.col2 connecting in ergodic condition chained list, so change the value of overall equivalence class variable Eclass here, is 10000000.That is, there is equivalence class { t1.col1t2.col2 }.Changing Col is 11000000, and Col variable in t1, t2 and t3 is respectively 10000000,01000000 and 00000000, and the Eclass variable in t1 and t2 is all 10000000, and the Eclass variable in t3 is 00000000.As shown in table 3.
Table 3: process RELS, the COLS of where, the variation of ECS
Figure BDA0000436493830000072
4, continue traversal, occur second equivalent description t2.col2=t3.col1 connecting, add new row t3.col1.Owing to there being other equivalence class { t1.col1t2.col2 }, and the member of this equivalence class is present among the equivalent description connecting, so need to consider the merging of equivalence class.Be about to t3.col1 and add in first equivalence class, Eclass is constant for equivalence class variable, but its member increases, and it is { t1.col1t2.col2t3.col1 } that Id is numbered 0 equivalence class set limit.The value that changes its Rel and Col is 11100000, and the Col variable changing in t3 is 00100000, and the Eclass variable changing in t3 is 10000000.Rel and the Eclass of the COL object that adjustment Id is 2 are respectively 00100000 and 10000000.As shown in table 5.
Table 5: process RELS, the COLS of where, the variation of ECS
Figure BDA0000436493830000081
Continue traversal, occur a constrained condition t1.col1>0.9, restrictive condition is recorded in to restrictive condition chained list quals.As shown in table 6:
Table 6: the record of restriction condition
5, get back to the target chained list (before select, after from) in sql statement: row t1.col1 and t2.col2 exist, and t3.col2 is non-existent, generates new object COL, assignment Rel and Eclass variable, continue to fill COLS chained list; And adding corresponding equivalence class, this equivalence class only has an equivalence class member.As shown in table 8:
Table 8: the interpolation of objective attribute target attribute
Figure BDA0000436493830000091
6, record DISTINCT, ORDER BY, GROUP BY characteristic.Exist in this example " order by t2.col2 ", so the related amendments information of COLS is as shown in table 9 highlights.
Table 9: the interpolation of objective attribute target attribute
Figure BDA0000436493830000092
7, traversal quals chained list, finds monocular constraint condition t1.col1>0.9, and t1 is 10000000 according to its local variable Eclass(value) equivalence class { t1.col1t2.col2t3.col1 } that finds t1.col1 to belong to.Each member who the constraint condition of col>0.9 is propagated into this equivalence class, can obtain t2.col2>0.9 and t3.col1>0.9.And this constraint condition is mounted in the restriction condition of table t2 and table t3.Meanwhile, owing to there being the characteristic of order by t2.col2, other members in this equivalence class also share this characteristic, so all can have the characteristic of sequence.COLS after revising is as shown in highlighting in table 10:
Table 10: the characteristic transmission of row
Figure BDA0000436493830000101
8, enter plan enumerator.When generation t1 is connected prior to t2 with t3, using the local variable Eclass(of t1 and t2 is all 10000000) carry out position with operating result be 10000000, there is equivalence class { t1.col1t2.col2t3.col1 }, although there is no explicit t1.col1=t3.col1, but still can obtain this condition of contact according to this equivalence class, and can pass in cost calculator and calculate.The final plan of selecting Least-cost, is delivered to actuator and carries out query manipulation.
In order to verify the validity of the new framework route that the application proposes, in the latest edition 9.2.4 of PostgreSQL, realize.This place will adopt one group of random test figure, adopt the contrast test of 1000000 random data, and the establishment statement of test is as follows:
CREATE?TABLE?rdmt1(random?float);
CREATE?TABLE?rdmt2(random?float);
INSERT?INTO?rdmt1SELECT?random()FROM?generate_series(1,1000000);
INSERT?INTO?rdmt2SELECT?random()FROM?generate_series(1,1000000);
Wherein random () is the system function of PostgreSQL, produces at random 0~1 random number;
Generate_series (1,1000000) produces from 1 to 1000000 sequence number.Insert statement and represent that his-and-hers watches rdmt1 and rdmt2 insert respectively 1000000 random floating point (0~1).The data of generation are imported to respectively in the database before and after revising.Client psql at PostgreSQL carries out query statement: " explain select count (*) from rdmt1, rdmt2where rdmt1.random=rdmt2.random and rdmt1.random>0.9; ".The inquiry plan that amended PostgreSQL obtains as mentioned below.His-and-hers watches rdmt2 creates a conventional b-tree indexed rdmt2_random_idx, and checks respectively inquiry plan, and not improved PostgreSQL produces inquiry plan and do not change.But the inquiry plan of improved PostgreSQL has had very large variation as mentioned below.The inquiry plan that unmodified PostgreSQL obtains is as follows:
Figure BDA0000436493830000111
The inquiry plan that amended PostgreSQL obtains is as follows:
Figure BDA0000436493830000112
Figure BDA0000436493830000121
Improved PostgreSQL is to there being the inquiry plan of index data as follows:
Figure BDA0000436493830000122
In the inquiry plan that unmodified PostgreSQL obtains, show, because PostgreSQL9.2.4 does not make full use of the transitivity of equivalence class, making to retrain filtercondition (random>0.9::double precision) does not have equivalence to be delivered on master meter rdmt2, and in amended PostgreSQL, it is upper that constraint filtercondition can be delivered to master meter rdmt2, inquiry plan highlight part.And after giving b tree index of master meter rdmt2 increase, the inquiry plan of improved PostgreSQL is still not constant.But the inquiry plan of improved PostgreSQL further becomes improved PostgreSQL to there being the inquiry plan (highlighting part) of index data, after filtercondition equivalence has been delivered to master meter rdmt2, has triggered the use of index.
For fear of the impact of operating system memory scheduling strategy and the impact of PostgreSQL backstage checkpoint cycleoperation, each plan has been carried out 20 times, and records the wherein the shortest time.Above time of execution cost of three query statements be respectively 495.871ms, 280.945ms and 216.502ms.The time that can find out execution is ever-reduced.The random floating point producing due to random () is almost equally distributed, and the chances are has filtered 9/10ths data for restrictive condition " random>0.9 ", so the PostgreSQL execution efficiency after improving will improve a lot.For checking the impact of filtering data size on execution performance, done again eight groups of tests herein, the data of filtration are reduced gradually.The time result that the filtercondition of random is reduced at every turn to 0.1 survey is as shown in table 11 below:
Table 11: the execution time (unit: ms) of different filterconditions
Figure BDA0000436493830000131
The broken line graph that the data of table 11 are drawn as shown in Figure 2.In table 8, we can see that improved PostgreSQL execution efficiency is significantly better than not improved PostgreSQL clearly.And improved PostgreSQL can trigger the use of index under certain conditions.When restriction numerical value is 0.7,0.8,0.9, index is added into, and that is to say that optimizer adds the cost of index smaller as calculated, and " optimum " path has just added index.So can find out in the drawings, restriction numerical value is between 0.1 to 0.6, and it is almost the same having indexless improvement PostgreSQL execution efficiency.
As can be seen from Table 11, when restriction numerical value is 0.9, the query time that there is no improved plan is 495.871ms, and the execution time of the PostgreSQL after improvement is 280.945ms, and performance has improved 43%.After adding index, the original plan does not still change, and does not use index.And amended PostgreSQL has been used new index, and the execution time be 216.502ms, performance has improved 56%.Can find out, performance has had larger raising, has proved the high efficiency of the new architecture method for equivalence class of design herein.
One of ordinary skill in the art will appreciate that all or part of step realizing in the various embodiments described above method is to come the hardware that instruction is relevant to complete by program, corresponding program can be stored in a computer read/write memory medium, described storage medium, as ROM/RAM, disk or CD etc.
The foregoing is only preferred embodiment of the present invention, not in order to limit the present invention, all any modifications of doing within the spirit and principles in the present invention, be equal to and replace and improvement etc., within all should being included in protection scope of the present invention.

Claims (5)

1. the database kernel enquiring and optimizing method based on equivalence class, is characterized in that, described method comprises:
After triggering query optimization, after entering subquery optimizer, use function to process the description after keyword from and before keyword where in sql statement: the nested tree construction or the chained list of not specifying connected mode that enter explicit connection, extract table information, obtain table object, its Col comprising of initialization and Eclass bit variable, fill chained list RELS;
Process the restrictive condition chained list quals after in sql statement;
Process the description after where in sql statement;
Traversal DISTINCT, ORDER BY, GROUP BY belong to the chained list of row characteristic, according to Eclass variable, find its corresponding equivalence class, these characteristics are risen to the characteristic of whole equivalence class; Equivalence class is delivered to these characteristics in its each member; Each member of parity price class adds these characteristics and can use for Optimum Operation below;
Quals chained list in traversal sql, the qual of each monocular is found to corresponding row, according to the Eclass object of row object REL, find a corresponding unique equivalence class, according to the bitmap variable Col of this equivalence class, find other row, by monocular constraint condition qual be sent to these row members among;
Enter enumerator, whenever producing a pair of initial conditions, judge whether a pair of initial conditions exists in equivalence class, as existed, enter cost calculator; Obtain the final executive plan of being intended to be of minimum cost, executive plan is compiled into carries out tree, is sent in actuator and carries out.
2. method according to claim 1, is characterized in that, the described rule that judges whether a pair of initial conditions exists in equivalence class specifically comprises:
Calculate phase and the operating result of the bitmap variable Eclass in two table object REL in a pair of initial conditions, if non-vanishing with operating result, determine in equivalence class and exist equivalence associated; Otherwise, do not exist equivalent associated.
3. method according to claim 1, is characterized in that, the restrictive condition chained list quals in described processing sql statement after on specifically comprises:
Obtain row object, it comprises variable R el and Eclass initialization; Rel, according to existing REL object value, generates an equivalence class object EC according to COL, and Rel is generated as according to this EC the Eclass assignment that it comprises, and final COL fills COLS chained list; Meanwhile, the equivalence class object of this generation is its Rel and Col variable assignments according to existing RELS and COLS.
4. method according to claim 3, is characterized in that, the equivalence class object of described generation comprises for its Rel and Col variable assignments according to existing RELS and COLS:
Find effective equivalent connection that inner connects; If there is effectively equivalent connection, should check that ECS looks at whether individualism of two equivalence classes relating to, in this way, merges to these two equivalence classes in an equivalence class, another equivalence class, by disallowable, will be revised the Eclass variable in REL and COL simultaneously.
5. method according to claim 1, is characterized in that, the description in described processing sql statement after where comprises:
Get back to the target chained list in sql statement, before select, after from, arrange other column information, formation object COL, assignment Rel and Eclass variable, continue to fill COLS chained list; And add corresponding equivalence class.
CN201310681482.7A 2013-12-12 2013-12-12 Database kernel query optimization method based on equivalence class Active CN103678589B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310681482.7A CN103678589B (en) 2013-12-12 2013-12-12 Database kernel query optimization method based on equivalence class

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310681482.7A CN103678589B (en) 2013-12-12 2013-12-12 Database kernel query optimization method based on equivalence class

Publications (2)

Publication Number Publication Date
CN103678589A true CN103678589A (en) 2014-03-26
CN103678589B CN103678589B (en) 2017-02-01

Family

ID=50316134

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310681482.7A Active CN103678589B (en) 2013-12-12 2013-12-12 Database kernel query optimization method based on equivalence class

Country Status (1)

Country Link
CN (1) CN103678589B (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016011904A1 (en) * 2014-07-23 2016-01-28 华为技术有限公司 Database access method and apparatus and database system
WO2017091925A1 (en) * 2015-11-30 2017-06-08 华为技术有限公司 Data query method and apparatus, and database system
CN106897343A (en) * 2016-07-20 2017-06-27 阿里巴巴集团控股有限公司 The lookup method of executive plan, storage method and device
CN108304517A (en) * 2018-01-23 2018-07-20 西南大学 Efficient nested querying method based on Complex event processing system
CN109791741A (en) * 2016-09-27 2019-05-21 日本电信电话株式会社 Secret equivalence connection system, secret equivalent attachment device, secret equivalent connection method, program
CN110659200A (en) * 2018-06-29 2020-01-07 中国航发商用航空发动机有限责任公司 Method and system for comparing and analyzing source code and target code of airborne software
CN110866033A (en) * 2018-08-28 2020-03-06 北京国双科技有限公司 Feature determination method and device for predicting query resource occupancy
CN112395304A (en) * 2020-10-30 2021-02-23 迅鳐成都科技有限公司 Data security calculation method, system and storage medium based on data behavior simulation
CN113111058A (en) * 2020-01-10 2021-07-13 华为技术有限公司 Database processing method and device
CN114925092A (en) * 2022-05-09 2022-08-19 北京达佳互联信息技术有限公司 Data processing method and device, electronic equipment and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120130988A1 (en) * 2010-11-22 2012-05-24 Ianywhere Solutions, Inc. Highly Adaptable Query Optimizer Search Space Generation Process
CN102930003A (en) * 2012-10-24 2013-02-13 浙江图讯科技有限公司 Database query plan optimization system and method
CN103365885A (en) * 2012-03-30 2013-10-23 国际商业机器公司 Method and system for optimizing database inquiry

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120130988A1 (en) * 2010-11-22 2012-05-24 Ianywhere Solutions, Inc. Highly Adaptable Query Optimizer Search Space Generation Process
CN103365885A (en) * 2012-03-30 2013-10-23 国际商业机器公司 Method and system for optimizing database inquiry
CN102930003A (en) * 2012-10-24 2013-02-13 浙江图讯科技有限公司 Database query plan optimization system and method

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10534771B2 (en) 2014-07-23 2020-01-14 Huawei Technologies Co., Ltd. Database access method and apparatus, and database system
WO2016011904A1 (en) * 2014-07-23 2016-01-28 华为技术有限公司 Database access method and apparatus and database system
WO2017091925A1 (en) * 2015-11-30 2017-06-08 华为技术有限公司 Data query method and apparatus, and database system
US10885034B2 (en) 2015-11-30 2021-01-05 Huawei Technologies Co., Ltd. Data query method and apparatus, and database system
CN106897343A (en) * 2016-07-20 2017-06-27 阿里巴巴集团控股有限公司 The lookup method of executive plan, storage method and device
CN106897343B (en) * 2016-07-20 2020-08-07 阿里巴巴集团控股有限公司 Searching method, storing method and device for execution plan
CN109791741A (en) * 2016-09-27 2019-05-21 日本电信电话株式会社 Secret equivalence connection system, secret equivalent attachment device, secret equivalent connection method, program
CN109791741B (en) * 2016-09-27 2022-01-18 日本电信电话株式会社 Secret equivalence connection system, connection device, connection method, and recording medium
CN108304517A (en) * 2018-01-23 2018-07-20 西南大学 Efficient nested querying method based on Complex event processing system
CN110659200A (en) * 2018-06-29 2020-01-07 中国航发商用航空发动机有限责任公司 Method and system for comparing and analyzing source code and target code of airborne software
CN110659200B (en) * 2018-06-29 2023-05-02 中国航发商用航空发动机有限责任公司 Method and system for comparing and analyzing source code and target code of aviation onboard software
CN110866033A (en) * 2018-08-28 2020-03-06 北京国双科技有限公司 Feature determination method and device for predicting query resource occupancy
CN110866033B (en) * 2018-08-28 2022-06-21 北京国双科技有限公司 Feature determination method and device for predicting query resource occupancy
CN113111058A (en) * 2020-01-10 2021-07-13 华为技术有限公司 Database processing method and device
CN112395304A (en) * 2020-10-30 2021-02-23 迅鳐成都科技有限公司 Data security calculation method, system and storage medium based on data behavior simulation
CN112395304B (en) * 2020-10-30 2024-01-02 迅鳐成都科技有限公司 Data security calculation method, system and storage medium based on data behavior simulation
CN114925092A (en) * 2022-05-09 2022-08-19 北京达佳互联信息技术有限公司 Data processing method and device, electronic equipment and storage medium

Also Published As

Publication number Publication date
CN103678589B (en) 2017-02-01

Similar Documents

Publication Publication Date Title
CN103678589A (en) Database kernel query optimization method based on equivalence class
US7890497B2 (en) Using estimated cost to schedule an order for refreshing a set of materialized views (MVS)
US8732163B2 (en) Query optimization with memory I/O awareness
US10846278B2 (en) Dynamic updates to a semantic database using fine-grain locking
US8478742B2 (en) Using estimated cost to refresh a set of materialized views (MVS)
US11436225B2 (en) Database hierarchy-independent data drilling
CN102722531B (en) Query method based on regional bitmap indexes in cloud environment
WO2018157680A1 (en) Method and device for generating execution plan, and database server
US20050235003A1 (en) Choosing whether to use a delayed index maintenance depending on the portion of the materialized view (MV) changed
CN101685449A (en) Method and system for connecting tables in a plurality of heterogeneous distributed databases
US20100036805A1 (en) System Maintainable and Reusable I/O Value Caches
US20100235344A1 (en) Mechanism for utilizing partitioning pruning techniques for xml indexes
CN103729392A (en) Method for optimizing query and query complier
US11693883B2 (en) Techniques for ordering predicates in column partitioned databases for query optimization
US20110022581A1 (en) Derived statistics for query optimization
Giannakouris et al. MuSQLE: Distributed SQL query execution over multiple engine environments
CN103793467A (en) Method for optimizing real-time query on big data on basis of hyper-graphs and dynamic programming
CN104361113A (en) OLAP (On-Line Analytical Processing) query optimization method in memory and flesh memory hybrid storage mode
Tran et al. Structure index for RDF data
CN102495834A (en) Incremental data cleaning method based on memory mapping
US10877973B2 (en) Method for efficient one-to-one join
CN104081397A (en) Creating an archival model
Ding et al. Sagedb: An instance-optimized data analytics system
US20080301085A1 (en) Dynamic Database File Column Statistics for Arbitrary Union Combination
Peyravi A schema selection framework for data warehouse design

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 100094 Beijing city Haidian District North Road No. 68, UFIDA Software Park

Applicant after: Yonyou Network Technology Co., Ltd.

Address before: 100094 Beijing city Haidian District North Road No. 68, UFIDA Software Park

Applicant before: UFIDA Software Co., Ltd.

COR Change of bibliographic data
C14 Grant of patent or utility model
GR01 Patent grant