Use DBQL to:
- Capture query/statement counts and response times. You can look in the DBQL logs to see if this is the first time this query has been broken and what the historical pattern of its execution has been.
- Validate that nonunique secondary indexes (NUSIs) are actually used. You can free up space and improve table update performance by deleting NUSIs.
- Determine which aggregate join indexes (AJIs) are used the most. This allows you to make a cost-benefit analysis on their AJIs, comparing usage against size and time to build.
- Analyze SQL text and process steps. View the SQL text that inadvertently wiped out the system using DBQL historical data and then attempt to rebuild the lost data.
- Log optimizer queries as XML documents.
- Make further refinements to workload groups and scheduling.
- Discover potential application improvements.
- Understand basic workload trends, such as growth patterns and workload mix, and identify outliers.
- Determine whether the query has redrive protection and if the request was redriven after a database failure .
DBQL provides a series of predefined tables and views that can store historical records of queries and their duration, performance, and target activity based on rules you specify.
DBQL is flexible enough to log information on the variety of SQL requests, from short transactions to longer-running analysis and mining queries that run on Teradata Database. You can log information for an application name, a user or group of users, or a list of accounts.