Abstract:
A database query is received at a first time when a database is in a first state. The database query is analyzed to determine whether it has one or more characteristics that fall within a historical top range of database queries. If the database query falls within the historical top range of database queries the query is stored for later query tuning activity. The query is executed against the database in the first state. Query tuning recommendations are generated for stored database queries that fall within the historical top range of database queries. A subsequent request is received at a second time when a database is in a second state. The subsequent database query is executed with at least one of the query tuning recommendations against the database in the second state.
Abstract:
Reverse database query mapping. A database query to be executed on a computing platform against a database managed by the computing platform is received. Query mapping information is stored in a memory system accessible to the one or more processors. A source query corresponding to a query identifier is retrieved in response to statistical analysis. One or more potential indexes are generated for use with the source query, wherein at least one of the one or more potential indexes can function to improve performance of the source query.
Abstract:
An exemplary embodiment of a multi-tenant database system is provided. The system includes a multi-tenant database, an entity definition table, and a data processing engine. The database has database objects for multiple tenants, including an existing object for a designated tenant. Each entry in the existing object has a respective entity identifier. The definition table has metadata entries for the database objects, including a metadata entry for the existing object. This metadata entry has a tenant identifier for the designated tenant, an entity name for the existing object, and an old key prefix for the existing object. Each entity identifier of the existing object begins with the old key prefix. The engine performs a data truncation operation on the existing object by updating the metadata entry to replace the old key prefix with a new key prefix. This results in an updated object that is identified by the new key prefix and the tenant identifier.
Abstract:
Embodiments regard protected handling of database queries. An embodiment of a method for querying database system views and tables includes: receiving a user query from a user, the user query being directed to one or both of a view and a table of a database, wherein the user is not a database administrator; parsing the user query with a query parser to identify elements of the user query, parsing the query including determining whether the query meets certain database access criteria; automatically generating a database query based on the parsing of the user query, the generation of the database query including generating a database query that is limited by the database access criteria; accessing the one or both of the view and the table using the generated database query, wherein the access is limited to read-only access; and obtaining a result of the access of the one or both of the view and table.
Abstract:
Methods and systems are described for creating a custom index in a multi-tenant database environment. In one embodiment, a method includes obtaining query for a multi-tenant database that is recommended as a candidate for creating an additional filter, evaluating the query against criteria to determine whether to select the query for creating the additional filter, and creating the additional filter for the query, if the query is selected.
Abstract:
An exemplary embodiment of a multi-tenant database system is provided. The system includes a multi-tenant database, an entity definition table, and a data processing engine. The database has database objects for multiple tenants, including an existing object for a designated tenant. Each entry in the existing object has a respective entity identifier. The definition table has metadata entries for the database objects, including a metadata entry for the existing object. This metadata entry has a tenant identifier for the designated tenant, an entity name for the existing object, and an old key prefix for the existing object. Each entity identifier of the existing object begins with the old key prefix. The engine performs a data truncation operation on the existing object by updating the metadata entry to replace the old key prefix with a new key prefix. This results in an updated object that is identified by the new key prefix and the tenant identifier.
Abstract:
Automated query tuning. A database query to be executed against a database is received. The database query is analyzed to determine one or more potential indexes to be evaluated. The one or more potential indexes are evaluated to determine if an optimization utilizing a selected potential index provides improved performance over performing the database query without the selected potential index. The one or more potential indexes are scored based on results of the evaluating. A recommendation of one or more of the potential indexes is provided to a source of the database query.
Abstract:
Embodiments regard protected handling of database queries. An embodiment of a method for querying database system views and tables includes: receiving a user query from a user, the user query being directed to one or both of a view and a table of a database, wherein the user is not a database administrator; parsing the user query with a query parser to identify elements of the user query, parsing the query including determining whether the query meets certain database access criteria; automatically generating a database query based on the parsing of the user query, the generation of the database query including generating a database query that is limited by the database access criteria; accessing the one or both of the view and the table using the generated database query, wherein the access is limited to read-only access; and obtaining a result of the access of the one or both of the view and table.