G06F16/24544

COST-BASED SEMI-JOIN REWRITE

A method, apparatus, and computer program product for executing a relational database management system (RDBMS) in a computer system, wherein the RDBMS manages a relational database comprised of one or more tables storing data. The RDBMS executes a query with a semi-join operation comprising an inclusion join and/or an exclusion join performed against at least an outer table and an inner table, wherein the inclusion join returns a row from the outer table when there is a match with a row in the inner table, and the exclusion join returns a row from the outer table when there is no match with a row in the inner table. The RDBMS performs a rewrite of the query to avoid spooling and/or sorting of the inner table, when the inner table is larger than the outer table and a cost after the rewrite is lower than before the rewrite.

Generating reports for enterprise pages based upon instrumentation data generated by client computing devices

Described herein are technologies relating to including instrumentation code in enterprise pages and generating a report for an enterprise page based upon instrumentation data and organizational data. Instrumentation code in an enterprise page, when executed by a processor, causes the processor to generate instrumentation data, where the instrumentation data includes an identifier for the enterprise page and an identifier for a user who accessed the enterprise page. The instrumentation data is added to an instrumentation dataset. A report is generated for an enterprise page based upon the instrumentation data and organizational data, such that the report indicates how users across different sectors of the enterprise interact with the enterprise page.

Selective query loading across query interfaces

A method includes receiving, in a first query interface, a query composed by the user by typing commands into a query box of the first query interface and based on the receiving of the query, causing events corresponding to query results of the query to be displayed in the first query interface with fields corresponding to the events. Based on the selection by the user of an option, a second query interface is displayed with a table that includes events that correspond to query results of a loaded query. The table includes columns corresponding to event attributes, rows corresponding to events. Cells are populated with the data items of event attributes, where one of the columns corresponds to a field of the fields displayed in the first query interface. The table also includes interactive regions selectable by the user to add one or more commands to the loaded query.

Determining query join orders

A technique includes identifying a plurality of substitute candidates for a given multiple join of tables. Each substitute candidate includes a candidate multiple join of tables, and the number of tables of each candidate multiple join is less than the number of tables of the given multiple join. A given substitute candidate is selected based on a cardinality of the candidate multiple join of the given substitute candidate; a join order for the given multiple join is determined based on the given substitute candidate; and the query is processed based on the determined join order.

OPTIMIZATION OF DATABASE SEQUENCE OF JOINS FOR REACHABILITY AND SHORTEST PATH DETERMINATION
20220414098 · 2022-12-29 ·

A method, system and computer program product are disclosed for determining a shortest path between two nodes of a graph, where the graph is represented in one or more tables of a relational database as a plurality of records identifying edges between pairs of connected nodes in the graph. A request specifies a source node (or set of source nodes), a target node (or set of target nodes) and a maximum path length L. Each path length l, from 1 to L, is iteratively tested by first generating a query comprising a sequence of join operations for that path length, and secondly decomposing the join operations into a sequence of one or more tree-structured queries comprising semi-join operations. Each tree-structured query when executed as a sequence of semi-join operations will return either an empty result set, indicating that no shortest path exists at that path length, or a non-empty result set which identifies all edges at step k of each shortest path of length l, where 1≤k≤l. If all of the tree-structured queries for a path length l return non-empty result sets, the shortest paths of length l can be constructed from the result sets with each result set specifying the edges at a particular step along the shortest path.

Method and system for implementing a backup validation engine

An embodiment of the present invention is directed to a backup validation engine. The backup validation engine comprises: a plurality of data sources comprising a central asset repository; a central repository of backups data; a central repository of network attached storage, a central application portfolio repository; and central repository of tape backup data; an interface user interface; and a data mapping processor, coupled to the plurality of data sources and interactive user interface, programmed to: access data from each of the plurality of data sources; map data from the plurality of data sources; identify performance issues comprising: duplicate host policies, hosts back-up, missing backup of hosts, duplicate NAS policies, NAS volume backup, and missing NAS backup; generate a backup validation plan to address one or more performance issues; and automatically initiate the backup validation plan.

Predictive query improvement
11520787 · 2022-12-06 · ·

The present approach relates to improving query performance in a database context. Examples of query improvement are described in the context of certain query patterns, one or more of which may be observed in a given query. When a given query pattern is observed, changes may be made to the query at the application or database level to improve performance of the respective query. Query improvements may be performed in a manner transparent to the user.

INDEX-BASED, ADAPTIVE JOIN SIZE ESTIMATION

Systems, methods, and computer media are described for index-based join size estimation. For a join operation between two tables, a filter is applied to the first table, resulting in a filter output. The filter output is then sampled. For each sample, an index for a second table is accessed and counts of records in the second table that match the sample are retrieved. Using the sample size and the retrieved counts from the index of the second table, a data size for the join operation can be efficiently and accurately estimated. Statistical confidence in the estimate can also be assessed using variance-based calculations.

Techniques for pushing joins into union all views
11593366 · 2023-02-28 · ·

A query with a UNION ALL (UA) view is detected by a query optimizer. A query execution plan and cost for the query is obtained. The query is rewritten to push aggregates of the original query into the view. A query execution plan is generated for the rewritten query and a cost for executing the rewritten query is obtained. The lowest cost execution plan is selected for execution by a database engine of a database.

DATABASE PROCESSING METHOD AND APPARATUS
20220365933 · 2022-11-17 ·

A database processing method and an apparatus are provided, and may be applied to a database system. A tree structure is used to represent a join order and used as an input of a neural network, and different first attribute matrices are allocated to different brother nodes in the input tree structure. This helps the neural network comprehensively learn information about the join order, obtain representation information capable of differentiating the join order from another join order, and predict costs of the join order accurately based on the obtained representation information of the join order. Then, an optimizer selects a join order with lowest costs for a query statement based on the costs predicted by a cost prediction module.