Patent classifications
G06F16/2454
UTILIZING ARRAY FIELD DISTRIBUTION DATA IN DATABASE SYSTEMS
A method includes generating array field distribution data for an array field of a dataset. A query expression for execution that includes a query predicate indicating the array field of the dataset is received. The array field distribution data for the array field is utilized to generate query plan data for the query expression based on the query expression including the query predicate indicating the array field. Execution of the query expression is facilitated in accordance with the query plan data.
Predictive query improvement
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.
Database performance degradation detection and prevention
Techniques for database performance degradation detection and prevention are described. A statement performance monitor observes queries executed against a database engine and clusters the queries into groups of queries. The index utilization of the query groups and execution metrics are tracked over time, and a sudden change of index utilization can be detected. The change can be reported to users and/or new indexes may be automatically generated to serve affected query groups. Additionally, a statement performance monitor may be deployed to statically analyze code to identify modified queries and the resultant change of use of query indexes.
Elimination of query fragment duplication in complex database queries
A database engine includes one or more computing devices, each having one or more processors and memory. The memory stores programs configured for execution by the processors. The database engine receives a database query from a client, and parses the database query to build a query operator tree. The query operator tree includes a plurality of query operators. The database engine performs one or more optimization passes on the query operator tree, including a deduplication optimization pass, to form an optimized execution plan. The deduplication optimization pass includes determining that a first query operator is equivalent to a second query operator during a traversal of the query operator tree, and replacing the second query operator with a link to reuse results from the first query operator. The database engine executes the optimized execution plan to retrieve a result set from the database and returns the result set to the client.
Optimizing database statements using a query compiler
Optimizing database statements using a query compiler including receiving, by a query compiler from a client computing system, a state specification of a graphical user interface; compiling, by the query compiler, a database statement from the state specification, including: optimizing the database statement by repositioning, within the database statement, a limit clause such that the limit clause is processed by the database before at least one join clause; and sending, by the query compiler, the optimized database statement to a database on a cloud-based data warehouse.
SECURITY CONTROL FRAMEWORK FOR AN ENTERPRISE DATA MANAGEMENT PLATFORM
Methods and systems are presented for collectively storing, managing, and analyzing data associated with different data sources. A data management system defines an enterprise data model schema based on different data model schemas associated with the different data sources. The data management system generates, for each data source, an enterprise data model instance based on the enterprise data model schema. Data is ingested from the different data sources, and then transformed and stored in a corresponding enterprise data model instance based on a mapping between a corresponding data model schema and the enterprise data model schema. Upon ingesting the data from the data sources, one or more consolidated data views are generated that combine at least portions of data from different enterprise data model instances. The data arranged according to the one or more consolidated data views is presented on a device and/or further analyzed to produce an analysis outcome.
ENHANCED DATABASE QUERY PROCESSING
A method includes receiving, from a client device, an enhanced database query for a union operation of a first query and at least a second query, parsing the enhanced database query to identify two or more parameters controlling handling of duplicate rows in the first query and the second query, evaluating the enhanced database query utilizing the parameters to generate a result table, and providing the result table to the client device
METHOD AND APPARATUS FOR REDUCING QUERY PROCESSING TIME BY DYNAMICALLY CHANGING ALGORITHMS AND COMPUTER READABLE MEDIUM THEREFOR
Provided is a method for reducing a query processing time by dynamically changing algorithms in a database management system (DBMS). The method includes: receiving a database query from a client; executing a first performance test for a plurality of respective execution algorithms for performing an operation associated with the query; executing an operation for processing the query by using a first execution algorithm among the plurality of execution algorithms based on a result of the first performance test; and while initially executing the operation for processing the query by using the first execution algorithm, executing a second performance test for the plurality of respective execution algorithms for performing the operation associated with the query; and dynamically deciding a point of time when the first execution algorithm is changed to a second execution algorithm among the plurality of execution algorithms in processing the query based on a result of the second performance test.
Tolerance level-based tuning of query processing
An input is accessed representing a tuning parameter for a first query statement and a tolerance level. The tolerance level represents a degree of acceptable discrepancy between the first query statement and another query statement. A first fingerprint is generated for the first query statement based on a content of the first query statement and the tolerance level; and the first fingerprint and the tuning parameter are stored. The first fingerprint is used as an index for an optimizer to associate the tuning parameter with a second query statement that corresponds to the first fingerprint.
Materializing internal computations in-memory to improve query performance
Techniques are described for materializing computations in memory. In an embodiment, responsive to a database server instance receiving a query, the database server instance identifies a set of computations for evaluation during execution of the query. Responsive to identifying the set of computations, the database server instance evaluates at least one computation in the set of computations to obtain a first set of computation results for a first computation in the set of computations. After evaluating the at least one computation, the database server instance stores, within an in-memory unit, the first set of computation results. The database server also stores mapping data that maps a set of metadata values associated with the first computation to the first set of computation results.