package de.memtext.db; import java.sql.Connection; import java.sql.Statement; import de.memtext.util.TimeUtils; public class DBTimer { private static int runCount=200; private static boolean logEachRun=false; //private static String driver="org.hsqldb.jdbcDriver"; private static String driver="com.informix.jdbc.IfxDriver"; //private static String url="jdbc:hsqldb:hsql://localhost:9001"; private static String url="jdbc:informix-sqli://jupiter:50000:informixserver=superx_host;database=superx"; private static String user="superx"; private static String passwd="anfang12"; private static String sql="execute procedure sp_cob_keychild('1',0);"; //wenn ein zweiter Sql folgen soll - drop table tmp_xx muss z.B. in eigenem Aufruf sein. private static String sql2=null;//"select sum(betrag) from cob_busa,tmp_children T where fikrkey=T.key"; //"select sum(betrag) from cob_busa where fikrkey in (select key from tmp_children)"; private static String sql3=null;//"drop table tmp_children;"; public static void main(String[] args) { //sql="select sum(betrag) from cob_busa C, tmp_children T where fikrkey=T.key and T.parent='1'"; sql = "select sum(betrag) from cob_busa where fikrkey in ('1', \n" + " '11 ', \n" + " '111 ', \n" + " '1111 ', \n" + " '1112 ', \n" + " '112 ', \n" + " '1121 ', \n" + " '1122 ', \n" + " '113 ', \n" + " '1131 ', \n" + " '1132 ', \n" + " '12 ', \n" + " '121 ', \n" + " '1211 ', \n" + " '1212 ', \n" + " '1213 ', \n" + " '122 ', \n" + " '123 ', \n" + " '124 ', \n" + " '125 ', \n" + " '126 ', \n" + " '13 ', \n" + " '131 ', \n" + " '1311 ', \n" + " '1312 ', \n" + " '1313 ', \n" + " '132 ', \n" + " '1321 ', \n" + " '1322 ', \n" + " '1323 ', \n" + " '133 ', \n" + " '1331 ', \n" + " '1332 ', \n" + " '1333 ', \n" + " '1334 ', \n" + " '134 ', \n" + " '135 ', \n" + " '136 ', \n" + " '137 ', \n" + " '138 ')"; try { Class.forName(driver); Connection conn = java.sql.DriverManager.getConnection( url, user, passwd); Statement stmt = conn.createStatement(); TimeUtils t=new TimeUtils(); System.out.println("start "+sql); for (int i=1;i<=runCount;i++) { if (logEachRun) System.out.println(i); stmt.execute(sql); if (sql2!=null) stmt.execute(sql2); if (sql3!=null) stmt.execute(sql3); } t.print(runCount+" times"); stmt.close(); conn.close(); System.out.println("done"); } catch (Exception e) { e.printStackTrace(); System.exit(-1); } } } //Created on 09.03.2005 at 10:05:37