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

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      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.