11347796

Eliminating Many-To-Many Joins Between Database Tables

PublishedMay 31, 2022
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
16 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A computer-implemented method of enhancing database query execution, using at least one processor operatively connected to a memory, the method comprising: upon receiving a database query comprising at least a first join operation and a second join operation: storing the database query in the memory; identifying by the processor within the database query the first join operation, wherein the first join operation is a many-to-many join operation or a one-to-many join operation between a first table and a second table, wherein fields of the second table are used only for filtering rows from the first table or for joining with another table; and converting by the processor the first join operation to an enhanced operation which eliminates returning at least two matches for at least one row from the first table when the database query is executed, wherein the enhanced operation does not cause a join.

2

2. The method of claim 1 , further comprising converting the second join operation to an enhanced operation, subject to the second join operation being between a third table and a fourth table, in which the fourth table fields are used only for filtering rows from the third table or for joining with other tables.

3

3. The method of claim 1 , wherein the first join operation is converted during execution of the database query.

4

4. The method of claim 1 , wherein the enhanced operation is a semijoin operation.

5

5. The method of claim 1 , wherein identifying the first join operation comprises: building a graph data structure from the query, the graph comprising: a respective node for each table in the query, and an edge connecting two nodes where the database query comprises a join operation between the two tables represented by the two nodes, the edge representing the join operation; and traversing the graph for identifying edges representing at least the first join operation.

6

6. The method of claim 5 , wherein building the graph data structure comprises: generating the graph data structure from the query; indicating each node connected to an edge in the graph as not-visited: indicating each node connected to an edge in the graph, which node represents a table in which no field is used for display, computation, or aggregation, as an invisible node; and indicating each node connected to an edge in the graph, which node represents a table in which at least one field is used for filtering, as a filtering node.

7

7. The method of claim 6 wherein traversing the graph for identifying edges representing at least the first join operation comprises: a. while the graph contains invisible and not-visited nodes which are also a filtering node, repeating: selecting a first node with minimal number of edges; marking the first node as visited; and marking each edge connected to the first node as join-to-be-enhanced; and b. while the graph contains invisible and non-visited second nodes having one edge associated with a non-enhanced join operation, and at least one other edge marked as join-to-be-enhanced, repeating: marking second nodes as a filtering node; and repeating step (a).

8

8. The method of claim 1 , wherein converting the first join operation to the enhanced operation is subject to at least one condition selected from the group comprising: a user indicating that the first join should be converted; the user indicating that any of a group of join operations that includes the first join operation may be converted; the user indicating that any join operation may be converted; the first join being a many-to-many join operation; and size of the first join operation exceeding a predetermined number of records.

9

9. The method of claim 1 , wherein the database is a columnary database or a relational database.

10

10. The method of claim 1 , wherein the query is an SQL query.

11

11. The method of claim 1 , further comprising submitting the query for execution.

12

12. A computerized system for enhancing database query execution, the system comprising a processor configured to: upon receiving a database query comprising at least a first join operation and a second join operation: store the database query in the memory: identify within the database query the first join operation, wherein the first join operation is a many-to-many join operation or a one-to-many join operation between a first table and a second table, wherein fields of the second table are used only for filtering rows from the first table or for joining with another table; and convert the first join operation to an enhanced operation which eliminates returning at least two matches for at least one row from the first table when the database query is executed, wherein the enhanced operation does not cause a join.

13

13. The computerized system of claim 12 , wherein the enhanced operation is a semijoin operation.

14

14. The computerized system of claim 12 , wherein for identifying the first join operation the processor is further configured to: building a graph data structure from the query, the graph comprising: a respective node for each table in the query, and an edge connecting two nodes where the database query comprises a join operation between the two tables represented by the two nodes, the edge representing the join operation; and traversing the graph for identifying edges representing at least the first join operation.

15

15. A computer program product comprising a non-transitory computer readable storage medium retaining program instructions, which program instructions when read by a processor, cause the processor to perform a process, the process including: upon receiving a database query comprising at least a first join operation and a second join operation: storing the database query in the memory; identifying by the processor within the database query the first join operation, wherein the first join operation is a many-to-many join operation or a one-to-many join operation between a first table and a second table, wherein fields of the second table are used only for filtering rows from the first table or for joining with another table; and converting by the processor the first join operation to an enhanced operation which eliminates returning at least two matches for at least one row from the first table when the database query is executed, wherein the enhanced operation does not cause a join.

16

16. A database management system for enhancing database query execution, the database management system configured for managing a database, the database management system operatively connected to a storage device, the database management system comprising a processor and a memory, the memory containing instructions that, when executed by the processor, configures the processor to: upon receiving a database query comprising at least a first join operation and a second join operation: store the database query in the memory; identify within the database query the first join operation, wherein the first join operation is a many-to-many join operation or a one-to-many join operation between a first table and a second table, wherein fields of the second table are used only for filtering rows from the first table or for joining with another table; and convert the first join operation to an enhanced operation which eliminates returning at least two matches for at least one row from the first table when the database query is executed, wherein the enhanced operation does not cause a join.

Patent Metadata

Filing Date

Unknown

Publication Date

May 31, 2022

Inventors

Omer PERI
Eldad FARKASH

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “ELIMINATING MANY-TO-MANY JOINS BETWEEN DATABASE TABLES” (11347796). https://patentable.app/patents/11347796

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.

ELIMINATING MANY-TO-MANY JOINS BETWEEN DATABASE TABLES — Omer PERI | Patentable