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 Details

    • 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

      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

      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

      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

      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

      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

      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

      String getStatementText()
      Get the text for the associated query or statement.
      Returns:
      The text for the associated query or statement.
    • getStatementExecutionPlanText

      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

      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

      String getScanStatisticsText(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.