org.apache.derby.iapi.sql.execute
Interface RunTimeStatistics

All Known Implementing Classes:
RunTimeStatisticsImpl

public interface RunTimeStatistics

A RunTimeStatistics object is a representation of the query execution plan and run time statistics for a java.sql.ResultSet. A query execution plan is a tree of execution nodes. There are a number of possible node types. Statistics are accumulated during execution at each node. The types of statistics include the amount of time spent in specific operations (if STATISTICS TIMING is SET ON), the number of rows passed to the node by its child(ren) and the number of rows returned by the node to its parent. (The exact statistics are specific to each node type.)

RunTimeStatistics is most meaningful for DML statements (SELECT, INSERT, DELETE and UPDATE).


Method Summary
 void acceptFromTopResultSet(XPLAINVisitor v)
          Initiate a visit of the ResultSetStatistics tree from the top.
 java.sql.Timestamp getBeginCompilationTimestamp()
          Get the timestamp for the beginning of query compilation.
 java.sql.Timestamp getBeginExecutionTimestamp()
          Get the timestamp for the beginning of query execution.
 long getBindTimeInMillis()
          Get the bind time for the associated query in milliseconds.
 long getCompileTimeInMillis()
          Get the total compile time for the associated query in milliseconds.
 java.sql.Timestamp getEndCompilationTimestamp()
          Get the timestamp for the end of query compilation.
 java.sql.Timestamp getEndExecutionTimestamp()
          Get the timestamp for the end of query execution.
 double getEstimatedRowCount()
          Get the estimated row count for the number of rows returned by the associated query or statement.
 long getExecuteTimeInMillis()
          Get the execute time for the associated query in milliseconds.
 long getGenerateTimeInMillis()
          Get the generate time for the associated query in milliseconds.
 long getOptimizeTimeInMillis()
          Get the optimize time for the associated query in milliseconds.
 long getParseTimeInMillis()
          Get the parse time for the associated query in milliseconds.
 java.lang.String getScanStatisticsText()
          Get a String representation of the information on the nodes relating to table and index scans from the execution plan for the associated query or statement.
 java.lang.String getScanStatisticsText(java.lang.String tableName)
          Get a String representation of the information on the nodes relating to table and index scans from the execution plan for the associated query or statement for a particular table.
 java.lang.String getSPSName()
          Get the name of the Stored Prepared Statement used for the statement.
 java.lang.String getStatementExecutionPlanText()
          Get a String representation of the execution plan for the associated query or statement.
 java.lang.String getStatementName()
          Get the name of the associated query or statement.
 java.lang.String getStatementText()
          Get the text for the associated query or statement.
 

Method Detail

getCompileTimeInMillis

long getCompileTimeInMillis()
Get the total compile time for the associated query in milliseconds. Compile time can be divided into parse, bind, optimize and generate times.

0 is returned if STATISTICS TIMING is not SET ON.

Returns:
The total compile time for the associated query in milliseconds.

getParseTimeInMillis

long getParseTimeInMillis()
Get the parse time for the associated query in milliseconds.

0 is returned if STATISTICS TIMING is not SET ON.

Returns:
The parse time for the associated query in milliseconds.

getBindTimeInMillis

long getBindTimeInMillis()
Get the bind time for the associated query in milliseconds.

Returns:
The bind time for the associated query in milliseconds.

getOptimizeTimeInMillis

long getOptimizeTimeInMillis()
Get the optimize time for the associated query in milliseconds.

0 is returned if STATISTICS TIMING is not SET ON.

Returns:
The optimize time for the associated query in milliseconds.

getGenerateTimeInMillis

long getGenerateTimeInMillis()
Get the generate time for the associated query in milliseconds.

0 is returned if STATISTICS TIMING is not SET ON.

Returns:
The generate time for the associated query in milliseconds.

getExecuteTimeInMillis

long getExecuteTimeInMillis()
Get the execute time for the associated query in milliseconds.

0 is returned if STATISTICS TIMING is not SET ON.

Returns:
The execute time for the associated query in milliseconds.

getBeginCompilationTimestamp

java.sql.Timestamp getBeginCompilationTimestamp()
Get the timestamp for the beginning of query compilation.

A null is returned if STATISTICS TIMING is not SET ON.

Returns:
The timestamp for the beginning of query compilation.

getEndCompilationTimestamp

java.sql.Timestamp getEndCompilationTimestamp()
Get the timestamp for the end of query compilation.

A null is returned if STATISTICS TIMING is not SET ON.

Returns:
The timestamp for the end of query compilation.

getBeginExecutionTimestamp

java.sql.Timestamp getBeginExecutionTimestamp()
Get the timestamp for the beginning of query execution.

A null is returned if STATISTICS TIMING is not SET ON.

Returns:
The timestamp for the beginning of query execution.

getEndExecutionTimestamp

java.sql.Timestamp getEndExecutionTimestamp()
Get the timestamp for the end of query execution.

A null is returned if STATISTICS TIMING is not SET ON.

Returns:
The timestamp for the end of query execution.

getStatementName

java.lang.String getStatementName()
Get the name of the associated query or statement. (This will be an internally generated name if the user did not assign a name.)

Returns:
The name of the associated query or statement.

getSPSName

java.lang.String getSPSName()
Get the name of the Stored Prepared Statement used for the statement. This method returns a value only for EXECUTE STATEMENT statements; otherwise, returns null.

Note that the name is returned in the schema.name format (e.g. APP.MYSTMT).

Returns:
The Stored Prepared Statement name of the associated statement, or null if it is not an EXECUTE STATEMENT statement.

getStatementText

java.lang.String getStatementText()
Get the text for the associated query or statement.

Returns:
The text for the associated query or statement.

getStatementExecutionPlanText

java.lang.String getStatementExecutionPlanText()
Get a String representation of the execution plan for the associated query or statement.

Returns:
The execution plan for the associated query or statement.

getScanStatisticsText

java.lang.String getScanStatisticsText()
Get a String representation of the information on the nodes relating to table and index scans from the execution plan for the associated query or statement.

Returns:
The nodes relating to table and index scans from the execution plan for the associated query or statement.

getScanStatisticsText

java.lang.String getScanStatisticsText(java.lang.String tableName)
Get a String representation of the information on the nodes relating to table and index scans from the execution plan for the associated query or statement for a particular table.

Parameters:
tableName - The table for which user desires statistics.

Returns:
The nodes relating to table and index scans from the execution plan for the associated query or statement.

getEstimatedRowCount

double getEstimatedRowCount()
Get the estimated row count for the number of rows returned by the associated query or statement.

Returns:
The estimated number of rows returned by the associated query or statement.

acceptFromTopResultSet

void acceptFromTopResultSet(XPLAINVisitor v)
Initiate a visit of the ResultSetStatistics tree from the top.

Parameters:
v - the visitor that wishes to visit the tree.

Built on Thu 2011-03-10 11:54:14+0000, from revision ???

Apache Derby V10.6 Internals - Copyright © 2004,2007 The Apache Software Foundation. All Rights Reserved.