WO2024082881A2 - Procédé et appareil d'interrogation de base de données - Google Patents

Procédé et appareil d'interrogation de base de données Download PDF

Info

Publication number
WO2024082881A2
WO2024082881A2 PCT/CN2023/118705 CN2023118705W WO2024082881A2 WO 2024082881 A2 WO2024082881 A2 WO 2024082881A2 CN 2023118705 W CN2023118705 W CN 2023118705W WO 2024082881 A2 WO2024082881 A2 WO 2024082881A2
Authority
WO
WIPO (PCT)
Prior art keywords
database query
query statement
query
database
predicate
Prior art date
Application number
PCT/CN2023/118705
Other languages
English (en)
Chinese (zh)
Inventor
王国平
朱涛
赵占越
Original Assignee
北京奥星贝斯科技有限公司
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 北京奥星贝斯科技有限公司 filed Critical 北京奥星贝斯科技有限公司
Publication of WO2024082881A2 publication Critical patent/WO2024082881A2/fr

Links

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/242Query formulation
    • G06F16/2433Query languages
    • G06F16/2445Data retrieval commands; View definitions

Definitions

  • the present disclosure relates to the field of databases, and more specifically, to a database query method and device.
  • a database query statement may contain an OR predicate.
  • the database query statement containing the OR predicate is usually rewritten to expand the OR predicate.
  • the related technology expands the OR predicate based on Union All. However, in certain scenarios, after the OR predicate is expanded based on Union All, the execution performance of the database query statement is still poor.
  • the present disclosure provides a database query method and device to improve the execution performance of database query statements.
  • a database query method comprising: receiving a first database query statement, the first database query statement comprising a first query branch and a second query branch, the first query branch and the second query branch being connected by an OR predicate; expanding the OR predicate in the first database query statement to obtain a second database query statement, the second database query statement comprising a third database query statement and a fourth database query statement, the third database query statement being used to execute the first query branch, the fourth database query statement being used to execute the second query branch, and the third database query statement and the fourth database query statement being connected based on UNION DISTINCT; and querying data in a database according to the second database query statement.
  • the method before expanding the OR predicate in the first database query statement, the method also includes: checking whether the query branches in the first database query statement can output a unique column set; expanding the OR predicate in the first database query statement includes: if all query branches in the first database query statement can output a unique column set, expanding the OR predicate in the first database query statement.
  • the method before expanding the OR predicate in the first database query statement, the method further includes: performing SPJ separation on the query branches in the first database query statement.
  • the predicate is a subquery predicate.
  • the database query statement is a SQL statement.
  • a database query device including: a receiving module, used to receive a first database query statement, the first database query statement includes a first query branch and a second query branch, the first query branch and the second query branch are connected by an OR predicate; an expansion module, used to expand the OR predicate in the first database query statement to obtain a second database query statement, the second database query statement includes a third database query statement and a fourth database query statement, the third database query statement is used to execute the first query branch, the fourth database query statement is used to execute the second query branch, and the third database query statement and the fourth database query statement are connected based on UNION DISTINCT; a query module, used to query data in a database according to the second database query statement.
  • the device also includes: a checking module, used to check whether the query branches in the first database query statement can output a unique column set before expanding the OR predicate in the first database query statement; the expansion module is used to: if the query branches in the first database query statement can all output a unique column set, then expand the OR predicate in the first database query statement.
  • a checking module used to check whether the query branches in the first database query statement can output a unique column set before expanding the OR predicate in the first database query statement
  • the expansion module is used to: if the query branches in the first database query statement can all output a unique column set, then expand the OR predicate in the first database query statement.
  • the device further includes: a separation module, configured to perform SPJ separation on query branches in the first database query statement before expanding the OR predicate in the first database query statement.
  • a separation module configured to perform SPJ separation on query branches in the first database query statement before expanding the OR predicate in the first database query statement.
  • the predicate in the first query branch and/or the second query branch is a sub-query predicate.
  • the database query statement is a SQL statement.
  • a database query device comprising: a memory for storing instructions; and a processor for executing the instructions stored in the memory to execute the method as described in the first aspect or any possible implementation method of the first aspect.
  • a computer-readable storage medium on which instructions for executing the method described in the first aspect or any possible implementation of the first aspect are stored.
  • a computer program product comprising instructions for executing the method described in the first aspect or any possible implementation manner of the first aspect.
  • the LLNVL predicate When expanding the OR predicate based on Union All, it is necessary to use the LLNVL predicate to perform deduplication operations (i.e., remove duplicate data in the query results of multiple query branches of the OR predicate). If the query branch connected by the OR predicate contains a complex predicate (subquery predicate), it will cause the LLNVL predicate to contain a subquery (i.e., the parameter of the LLNVL predicate is a subquery). Since the LLNVL predicate cannot perform subquery promotion (the execution efficiency of the subquery is very low, and it is usually hoped to convert the subquery and the outer query into a connection operation of two database tables to avoid executing the subquery.
  • deduplication operations i.e., remove duplicate data in the query results of multiple query branches of the OR predicate.
  • the embodiment of the present disclosure implements OR predicate expansion based on UNION DISTINCT. Since UNION DISTINCT itself has a deduplication function, there is no need to introduce the LLNVL predicate, thus avoiding the above problem. In other words, even if the query branches connected by the OR predicate contain complex predicates (sub-query predicates), the embodiments of the present disclosure can still well improve the execution efficiency of the database query statement.
  • FIG1 is a schematic diagram of the structure of a database query method provided by an embodiment of the present disclosure.
  • FIG. 2 is a schematic diagram of the structure of a database query method provided by another embodiment of the present disclosure.
  • FIG3 is a schematic diagram of the structure of a database query device provided by an embodiment of the present disclosure.
  • FIG. 4 is a schematic diagram of the structure of a database query device provided by another embodiment of the present disclosure.
  • database systems such as OceanBase database
  • database systems have their own supported database query statements, so that users of the database system can easily access the database system (such as querying, adding, deleting, etc. data in the database system).
  • the database query language mentioned here can be, for example, structured query language (SQL).
  • the execution performance of database query statements may be different if the expressions of database query statements are different. Therefore, in order to improve the execution performance of database query statements, the database system can query the received database query statements.
  • Query rewriting query rewriting of database query statements is usually an equivalence rewriting, that is, the query rewriting does not change the query results of the database query statement).
  • OR predicate expansion is a common query rewriting method. Taking the database query statement as a SELECT statement as an example, OR predicate expansion refers to splitting a SELECT statement with an OR predicate into multiple SELECT statements. Each of the multiple SELECT statements can be used to execute a query branch of the OR predicate. OR predicate expansion splits the OR predicate into each SELECT statement, so that the split SELECT statements may trigger more optimization space (that is, the split SELECT statements may be executed with an execution algorithm with better execution performance), thereby achieving the purpose of improving the query performance of database statements.
  • Nested loop join is a general but inefficient join algorithm. Specifically, the nested loop join consists of two FOR loops, hence the name. Assuming that the two tables to be joined are T1 and T2, and the join condition is P, the nested loop join selects one as the outer loop and the other as the inner loop, and compares each tuple in table T1 and table T2 one by one to find all matching tuples.
  • Nested loop join is relatively general. Like linear scan, nested loop join does not require indexes, and the algorithm is applicable to any join condition. In other words, for any type of join operation, the algorithm only needs to be slightly adjusted to perform the operation. However, the execution performance of nested loop join is relatively poor.
  • the database query statement Q1 can be rewritten, that is, the OR predicate in the database query statement Q1 can be expanded.
  • the database query statement Q1 can be rewritten as The database query statement Q2 is as follows:
  • the OR predicate is split into multiple simple SELECT statements.
  • merge join the merge join algorithm is also called sort merge join, which can be used to calculate natural joins and equivalue joins. Assuming that the two tables to be connected are T1 and T2, make tables T1 and T2 sorted before connecting. Then scan the two tables separately to complete.
  • Merge joins are very efficient to execute, and their time complexity is linear O(n), where n is the number of tuples in the table with the largest number of tuples in tables T1 and T2) and hash joins (HASH JOIN, hash joins are similar to merge joins.
  • hash join algorithm hash functions are used to partition two tables. The basic idea of this algorithm is to divide the two tables into sets of tuples with the same hash value according to the connection attributes. Hash joins do not require indexes, and compared with nested loop joins, hash joins are easier to handle large result sets) to execute, thereby improving the execution performance of database statements.
  • the "Union All”-based OR predicate expansion method is to use the "Union All” operator to organize multiple database query statements (each database query statement is used to execute a query branch of the OR predicate) to calculate the union of the query structures of the multiple database query statements. If the query results of the multiple database query statements contain multiple duplicate data, the "Union All" operator will return the multiple duplicate data.
  • the introduction of the LLNVL predicate will lead to suboptimal performance of database query statements in certain specific scenarios.
  • the specific scenario mentioned here may be, for example, a scenario where the query branch of the OR predicate contains complex predicates, such as a subquery predicate (that is, the predicate parameter contains a subquery).
  • the database query statement Q3 below contains an OR predicate, which contains two query branches, and each query branch contains a complex predicate (that is, the EXISTS predicate with a select subquery as a parameter below):
  • the predicate EXISTS of the first SELECT statement in the database query statement Q4 contains a subquery, it can be converted into a join (JOIN) through subquery lifting (subquery lifting is also a query rewriting method, which aims to express a subquery in the form of multi-table joins and merge it into the main query to improve query performance), so that more efficient join algorithms can be used to optimize query performance.
  • the EXISTS of the second SELECT statement in the database query statement Q4 can also be converted into a join (JOIN) through subquery lifting, so that more efficient join algorithms can be used to optimize query performance.
  • JOIN join
  • none of the database systems support the lifting operation of subqueries in LLNVL.
  • the predicate LLNVL can only be executed in a manner similar to Nested Loop Join, and the execution performance is low. It can be seen that when the query branch of the OR predicate contains complex predicates (such as subquery predicates), even if the OR predicate is expanded, the query performance of the database query statement cannot be greatly improved.
  • the disclosed embodiment proposes an OR predicate expansion method based on "UNION DISTINCT". Since "UNION DISTINCT” itself has the function of data deduplication, there is no need to use the LLNVL predicate, which avoids the calculation of such complex predicates, thereby improving the execution performance of database query statements.
  • the OR predicate in Q3 can be expanded based on "UNION DISTINCT" to convert the database query statement Q3 into the following database query statement Q5:
  • database query statement Q5 only contains the EXISTS predicate that can perform subquery lifting, and does not contain the LLNVL predicate that cannot perform subquery lifting. Therefore, database query statement Q5 does not need to execute Nested Loop Join, and thus has higher execution performance.
  • the following is a more detailed example of the database query method provided by the embodiment of the present disclosure in conjunction with Figure 1.
  • the method 100 of Figure 1 can be executed by a database system, specifically, by an optimizer in the database system.
  • the embodiment of the present disclosure does not specifically limit the type of the database system, for example, it can be a distributed database.
  • a first database query statement is received.
  • the first database query statement may also be an original database query statement, such as a database query statement input by a user of a database system, or a database query statement after rewriting the original database query statement.
  • the first database query statement may be, for example, an SQL statement.
  • the first database query statement may include a first query branch and a second query branch, and the first query branch and the second query branch are connected by an OR predicate. Therefore, in order to improve the execution performance of the first database query statement, it may be considered to perform an OR predicate expansion on the first database query statement.
  • the predicate in the first query branch can be a complex predicate.
  • the predicate in the first query branch can be a subquery predicate, that is, the parameter of the predicate includes a subquery.
  • the predicate in the second query branch can be a complex predicate.
  • the predicate in the second query branch can be a subquery predicate, that is, the parameter of the predicate includes a subquery.
  • step S120 the OR predicate in the first database query statement is expanded to obtain a second database query statement.
  • the second database query statement may be equivalent to the first database query statement, that is, the first database query statement and the second database query statement may correspond to the same query result.
  • the second database query statement may include a third database query statement and a fourth database query statement.
  • the third database query statement may be used to execute the first query branch of the OR predicate.
  • the fourth database query statement may be used to execute the second query branch of the OR predicate.
  • the third database query statement and the fourth database query statement are based on UNION DISTINCT. That is, the UNION DISTINCT operator can be used to calculate the union of the query results of the third database query statement and the fourth database query statement. Since the UNION DISTINCT operator itself has a deduplication function, there is no need to add a predicate specifically for deduplication, such as the LLNVL predicate mentioned above.
  • the query results of the third database query statement and the fourth database query statement may include a unique column set (or, the third database query statement and the fourth database query statement both project a unique column set).
  • the so-called unique column set refers to a column set that can uniquely identify the rows queried by the third database query statement and the fourth database query statement. Taking the example that the third database query statement and the fourth database query statement both query a database table, the unique column set may be the primary key of the database table.
  • UNION DISTINCT can perform a deduplication operation based on the unique column sets projected by the third database query statement and the fourth database query statement.
  • the unique column set can be deleted from the query results.
  • step S130 the data in the database is queried according to the second database query statement.
  • an execution plan corresponding to the second database query statement may be generated, and then the database query task is executed based on the execution plan, and the query result corresponding to the second database query statement is returned.
  • the embodiment corresponding to Figure 1 performs OR predicate expansion based on UNION DISTINCT. Since UNION DISTINCT itself has the function of data deduplication, there is no need to use the predicate LLNVL, thus avoiding the calculation of such complex predicates, thereby improving the execution performance of the database query statement after the OR predicate expansion.
  • the method of FIG. 1 may further include: checking the first database query statement to determine whether the first database query statement satisfies the expansion condition. For example, it may be checked whether the query branch in the first database query statement can output a unique column set. If the query branch in the first database query statement cannot output a unique column set, deduplication cannot be performed based on UNION DISTINCT (because UNION DISTINCT needs to implement deduplication based on a unique column set, which is the main difference between UNION DISTINCT and UNION ALL). In this case, OR predicate expansion may not be performed, or OR predicate expansion may be performed in a traditional UNION ALL-based manner.
  • OR predicate expansion can be omitted, or the traditional UNION ALL-based method can be used to expand the OR predicate.
  • the OR predicate in the first database query statement is expanded in UNION DISTINCT.
  • the method of FIG. 1 may further include: performing SPJ (Selection-Projection-Join) separation on the query branches in the first database query statement.
  • SPJ query refers to a query that only includes Selection, Projection, and Join.
  • SPJ separation refers to converting the query branches into queries that only include Selection, Projection, and Join.
  • each query branch in the first database query statement is an SPJ query. If a query branch itself is already an SPJ query, then there is no need to perform SPJ separation on the query branch; if a query branch is not an SPJ query (for example, if a query branch contains a Group-by clause, then the query branch is not an SPJ query), then it is necessary to perform SPJ separation on the query branch.
  • step S210 it is checked whether the database query statement can be expanded with an OR predicate. For example, it can be checked whether the OR predicate satisfies the expansion condition, whether the query branch can output a unique column set, and so on.
  • the database query statement is Q6 shown below:
  • the query branch where the OR predicate in the database query statement Q6 is located has two tables: t1 and t4. As can be seen from the creation process, both t1 and t4 have primary keys, so (t1.c1, t4.c1) can be used as the output unique column set, and the value of this set can be used to identify the only row in the table.
  • step S220 SPJ separation is performed on the query branch in the database query statement. If the query branch itself is an SPJ query, then no separation is required, otherwise SPJ separation is required.
  • Q6 includes a Group-by clause, which is not an SPJ query. Therefore, the query branch can be SPJ separated to convert Q6 into Q7 shown below, where temp is the SPJ query branch after separation.
  • step S230 the separated SPJ branches are expanded with an OR predicate.
  • the OR condition is split into multiple simple conditions, and corresponding SELECT statements are created.
  • a corresponding output unique column set is added to each SELECT statement, and finally these queries are combined in the form of UNION DISTINCT.
  • Q8 below is the result of OR predicate expansion on the temp table in Q7, where t1.c1 and t4.c1 are the unique column sets added in the query branch.
  • step S240 the expanded UNION DISTINCT query is encapsulated, and the columns that need to be projected are projected.
  • Q9 below shows a query encapsulation of Q8.
  • This example proposes a method for expanding OR predicates based on Union Distinc. Different from the method for expanding OR predicates based on Union All, the method for expanding OR predicates based on Union Distinc does not need to add LLNVL predicates to avoid duplicate data. For OR predicates that include complex predicates (such as subquery predicates), since the method provided in this example can avoid adding LLNVL predicates, it can reduce the calculation of complex predicates and increase the optimization space for expanding OR predicates, thereby achieving the purpose of improving the execution performance of database query statements.
  • complex predicates such as subquery predicates
  • FIG3 is a schematic diagram of a database query device according to an embodiment of the present disclosure.
  • the database query device 300 shown in FIG3 includes a receiving module 310 , an expansion module 320 and a query module 330 .
  • the receiving module 310 may be configured to receive a first database query statement, wherein the first database query statement includes a first query branch and a second query branch, wherein the first query branch and the second query branch are connected by an OR predicate.
  • the expansion module 320 can be used to expand the OR predicate in the first database query statement to obtain a second database query statement, wherein the second database query statement includes a third database query statement and a fourth database query statement, wherein the third database query statement is used to execute the first query branch, and the fourth database query statement
  • the method is used to execute the second query branch, and the third database query statement and the fourth database query statement are connected based on UNION DISTINCT.
  • the query module 330 may be used to query data in the database according to the second database query statement.
  • the device 300 may also include: a checking module, used to check whether the query branches in the first database query statement can output a unique column set before expanding the OR predicate in the first database query statement; the expansion module 320 can be used to expand the OR predicate in the first database query statement if all query branches in the first database query statement can output a unique column set.
  • a checking module used to check whether the query branches in the first database query statement can output a unique column set before expanding the OR predicate in the first database query statement
  • the expansion module 320 can be used to expand the OR predicate in the first database query statement if all query branches in the first database query statement can output a unique column set.
  • the apparatus 300 may further include: a separation module, configured to perform SPJ separation on the query branches in the first database query statement before expanding the OR predicate in the first database query statement.
  • a separation module configured to perform SPJ separation on the query branches in the first database query statement before expanding the OR predicate in the first database query statement.
  • the predicate in the first query branch and/or the second query branch is a sub-query predicate.
  • the database query statement is a SQL statement.
  • FIG4 is a schematic diagram of the structure of a database query device provided by another embodiment of the present disclosure.
  • the database query device 400 described in FIG4 may include a memory 410 and a processor 420, and the memory 410 may be used to store instructions.
  • the processor 420 may be used to execute the instructions stored in the memory 410 to implement the steps in the various methods described above.
  • the device 400 may also include a network interface 430, and data exchange between the processor 420 and an external device may be implemented through the network interface 430.
  • the computer program product includes one or more computer instructions.
  • the computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device.
  • the computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium.
  • the computer instructions can be transmitted from one website site, computer, server or data center to another website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.).
  • the computer-readable storage medium can be any available medium that can be accessed by a computer or a medium containing one or more available media.
  • the available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a magnetic tape), an optical medium (e.g., a digital video disc (DVD)), or a semiconductor medium (e.g., a solid state disk (SSD)).
  • the disclosed systems, devices and methods can be implemented in other ways.
  • the device embodiments described above are only schematic.
  • the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed.
  • Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
  • each functional unit in each embodiment of the present disclosure may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

Landscapes

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

Abstract

L'invention concerne un procédé et un appareil d'interrogation de base de données. Le procédé d'interrogation de base de données consiste à : recevoir un premier énoncé d'interrogation de base de données, le premier énoncé d'interrogation de base de données comprenant une première branche d'interrogation et une seconde branche d'interrogation, et la première branche d'interrogation et la seconde branche d'interrogation étant jointes au moyen d'un prédicat OU ; étendre le prédicat OU dans le premier énoncé d'interrogation de base de données, de façon à obtenir un deuxième énoncé d'interrogation de base de données, le deuxième énoncé d'interrogation de base de données comprenant un troisième énoncé d'interrogation de base de données et un quatrième énoncé d'interrogation de base de données, le troisième énoncé d'interrogation de base de données étant utilisé pour exécuter la première branche d'interrogation, le quatrième énoncé d'interrogation de base de données étant utilisé pour exécuter la deuxième branche d'interrogation, et le troisième énoncé d'interrogation de base de données et le quatrième énoncé d'interrogation de base de données étant connectés sur la base de l'UNION DISTINCT ; et interroger des données dans une base de données selon le seconde énoncé d'interrogation de base de données.
PCT/CN2023/118705 2022-10-20 2023-09-14 Procédé et appareil d'interrogation de base de données WO2024082881A2 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202211289477.7A CN115563148A (zh) 2022-10-20 2022-10-20 数据库查询方法和装置
CN202211289477.7 2022-10-20

Publications (1)

Publication Number Publication Date
WO2024082881A2 true WO2024082881A2 (fr) 2024-04-25

Family

ID=84746151

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/118705 WO2024082881A2 (fr) 2022-10-20 2023-09-14 Procédé et appareil d'interrogation de base de données

Country Status (2)

Country Link
CN (1) CN115563148A (fr)
WO (1) WO2024082881A2 (fr)

Also Published As

Publication number Publication date
CN115563148A (zh) 2023-01-03

Similar Documents

Publication Publication Date Title
CN109299102B (zh) 一种基于Elastcisearch的HBase二级索引系统及方法
US9390115B2 (en) Tables with unlimited number of sparse columns and techniques for an efficient implementation
US11893022B2 (en) Computer-implemented method for improving query execution in relational databases normalized at level 4 and above
US8612421B2 (en) Efficient processing of relational joins of multidimensional data
US10572484B2 (en) Duplicate reduction or elimination with hash join operations
US7814042B2 (en) Selecting candidate queries
US8332389B2 (en) Join order for a database query
US6032143A (en) Evaluation of existential and universal subquery in a relational database management system for increased efficiency
US7814091B2 (en) Multi-tiered query processing techniques for minus and intersect operators
US8965918B2 (en) Decomposed query conditions
US8160999B2 (en) Method and apparatus for using set based structured query language (SQL) to implement extract, transform, and load (ETL) splitter operation
US20090119247A1 (en) Efficient hash based full-outer join
US20140067789A1 (en) Optimization technique of generalized disjunctive semi/anti join
CN112231321B (zh) 一种Oracle二级索引及索引实时同步方法
CN109885585B (zh) 支持存储过程、触发器与视图的分布式数据库系统和方法
US6502089B1 (en) Generating restriction queries using tensor representations
US20190026332A1 (en) Redundant group by and distinct removal
US11416458B2 (en) Efficient indexing for querying arrays in databases
US9047354B2 (en) Statement categorization and normalization
US6487549B1 (en) Generating union queries using tensor representations
US8150865B2 (en) Techniques for coalescing subqueries
US6745173B1 (en) Generating in and exists queries using tensor representations
US20210286817A1 (en) System and method for disjunctive joins using a lookup table
WO2024082881A2 (fr) Procédé et appareil d'interrogation de base de données
US20230205769A1 (en) System and method for disjunctive joins

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23878875

Country of ref document: EP

Kind code of ref document: A2