org.cementj.database
Class SQLTimer

java.lang.Object
  extended by org.cementj.database.SQLTimer
All Implemented Interfaces:
java.lang.Runnable

public class SQLTimer
extends java.lang.Object
implements java.lang.Runnable

SQLTimer is a utility that will time a SQL statement given a test script. This utility can be used to determine the effect of SQL statement optimizations and database tuning efforts.

If run from a command prompt, the one and only argument is a properties file that contains the following entries:

  • sql.timer.sql -- SQL statement text
  • sql.timer.script -- Comma delimited test script
  • sql.timer.parms -- SQL statement parameter value types
  • sql.timer.db.driver -- JDBC Driver name
  • sql.timer.db.url -- JDBC Connection String
  • sql.timer.db.user -- Database User
  • sql.timer.db.password -- Database password
  • Example property file:

     sql.timer.sql=select * from all_tables where owner = ? and num_rows > ?
     sql.timer.script=timer1.script
     sql.timer.parms=String
     sql.timer.db.driver=oracle.jdbc.driver.OracleDriver
     sql.timer.db.url=jdbc:oracle:thin:@localhost:1521:ORA92
     sql.timer.db.user=scott
     sql.timer.db.password=tiger
     

    The test script is a comma-delimited set used to supply values for parameter markers in the SQL statement.

    Example script file:

     SCOTT,5
     SYS,6
     SYSTEM,5
     

    Copyright: Delta Vortex Technologies, 2003.

    Author:
    Derek C. Ashmore

    Field Summary
    static java.lang.String DATE_TYPE
               
    static java.lang.String INTEGER_TYPE
               
    static java.lang.String NUMBER_TYPE
               
    static java.lang.String STRING_TYPE
               
    static java.lang.String TIMESTAMP_TYPE
               
     
    Constructor Summary
    SQLTimer()
               
    SQLTimer(java.util.Properties testProps)
               
     
    Method Summary
     java.sql.Connection getDbConnection()
               
     java.lang.String[] getParameterType()
               
     java.lang.String getSqlText()
               
     long getTotalExecuteTime()
               
     long getTotalExecutions()
               
     long getTotalFetchTime()
               
     long getTotalNbrRowsFetched()
               
    static void main(java.lang.String[] args)
               
     void run()
               
     void setDbConnection(java.sql.Connection connection)
               
     void setParameterType(java.lang.String[] is)
               
     void setScriptFileName(java.lang.String name)
              Sets a script file for the timing test.
     void setSqlText(java.lang.String sqlText)
               
     
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
     

    Field Detail

    STRING_TYPE

    public static final java.lang.String STRING_TYPE
    See Also:
    Constant Field Values

    DATE_TYPE

    public static final java.lang.String DATE_TYPE
    See Also:
    Constant Field Values

    NUMBER_TYPE

    public static final java.lang.String NUMBER_TYPE
    See Also:
    Constant Field Values

    INTEGER_TYPE

    public static final java.lang.String INTEGER_TYPE
    See Also:
    Constant Field Values

    TIMESTAMP_TYPE

    public static final java.lang.String TIMESTAMP_TYPE
    See Also:
    Constant Field Values
    Constructor Detail

    SQLTimer

    public SQLTimer()

    SQLTimer

    public SQLTimer(java.util.Properties testProps)
             throws java.io.FileNotFoundException
    Throws:
    java.io.FileNotFoundException
    Method Detail

    run

    public void run()
    Specified by:
    run in interface java.lang.Runnable

    main

    public static void main(java.lang.String[] args)

    getDbConnection

    public java.sql.Connection getDbConnection()
    Returns:

    getSqlText

    public java.lang.String getSqlText()
    Returns:

    getTotalExecuteTime

    public long getTotalExecuteTime()
    Returns:

    getTotalFetchTime

    public long getTotalFetchTime()
    Returns:

    setDbConnection

    public void setDbConnection(java.sql.Connection connection)
    Parameters:
    connection -

    setSqlText

    public void setSqlText(java.lang.String sqlText)
    Parameters:
    string -

    setScriptFileName

    public void setScriptFileName(java.lang.String name)
                           throws java.io.FileNotFoundException
    Sets a script file for the timing test.

    Script file format is comma delimited. Each line contains a value for a parameter marker in the SQL text provided.

    Parameters:
    name -
    Throws:
    java.io.FileNotFoundException

    getParameterType

    public java.lang.String[] getParameterType()
    Returns:

    setParameterType

    public void setParameterType(java.lang.String[] is)
    Parameters:
    is -

    getTotalNbrRowsFetched

    public long getTotalNbrRowsFetched()
    Returns:

    getTotalExecutions

    public long getTotalExecutions()
    Returns:


    Copyright © 2003 Delta Vortex Technologies, Inc. All Rights Reserved.