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
 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

public 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

public 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

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

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

getOptimizeTimeInMillis

public 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

public 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

public 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

public 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

public 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

public 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

public 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

public 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

public 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

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

Returns:
The text for the associated query or statement.

getStatementExecutionPlanText

public 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

public 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

public 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

public 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.


Apache Derby V10.0 Engine Documentation - Copyright © 1997,2004 The Apache Software Foundation or its licensors, as applicable.