Avatar billede phoye Nybegynder
20. november 2001 - 15:06 Der er 16 kommentarer og
1 løsning

test med tid

Hej,
Jeg skal have lavet en test som viser hvor hurtig det tager at indsætte X antal tabeller. Derefter skal jeg lave en sammenligning mellem f.eks 1000 og 1 og se hvor lang tid det tog.

Min tabel har jeg forestillet mig skulle indeholde indexnr, nr, tid
f.eks
create table test(
indexnr integer auto_increment,
nr integer not null,
tid date not null);
Min database er MySQL, hvad ellers :)

Jeg havde forestillet mig on man kunne lave en løkke som lagde en til og derefter indsættes med en tid.
//phoye
Avatar billede disky Nybegynder
20. november 2001 - 15:09 #1
lav en

long start=System.getTimeMillis();

før dit database halløj

og en
long start=System.getTimeMillis();

bagefter.

Så trækker du dem fra hinanden og har antal milli sekunder det tog at udføre.
Avatar billede phoye Nybegynder
20. november 2001 - 15:21 #2
<%! String url = \"jdbc:mysql:///test\"; %>

<%-- Load the JDBC driver class --%>
<% Class.forName(\"org.gjt.mm.mysql.Driver\"); %>

<%-- Get a connection from the application scope --%>
<% javax.servlet.ServletContext sc =
  getServletConfig().getServletContext(); %>

<% java.sql.Connection db =
  (java.sql.Connection) sc.getAttribute(\"connection\"); %>

<% if (db == null)
      db = java.sql.DriverManager.getConnection (url);
  sc.setAttribute(\"connection\",db); %>

<%-- Get a statement --%>
<% java.sql.Statement st = db.createStatement(); %>

<%-- Prepare a result set --%>
<% java.sql.ResultSet rs; %>
<% long start=System.getTimeMillis();%>
<HTML>
<HEAD>
  <TITLE>test</TITLE>
</HEAD>

//her laver jeg min for-løkke og smider dem i tabellen

</BODY>
</HTML>

<% rs.close(); %>
<% st.close(); %>

Er det noget i denne retning??
Avatar billede disky Nybegynder
20. november 2001 - 15:23 #3
hvis din JSP virker med database adgang så ja,
husk at hent tiden når din løkke er færdig
Avatar billede phoye Nybegynder
20. november 2001 - 15:35 #4
Det er fordi jeg skal teste den op med php så de skal have samme vilkår!!!

Jeg forstår ikke lige hvordan jeg får smidt tiden ind.
Hvordan laver jeg så indsættelsen af tabellerne?
f.eks
<%
for(int i=0; i<100; i++){
long start=System.getTimeMillis();
st.executeQuery(\"INSERT INTO test values (\'\" +i \"\', long) \");
}
%>
Avatar billede disky Nybegynder
20. november 2001 - 15:37 #5
øh vil du gemme tiden i databasen ?

Eller bare se hvor lang tid f.eks. 1000 database kald tog ?


Hvis du vil gemme tiden er dit foreslag fint nok
Avatar billede phoye Nybegynder
20. november 2001 - 15:38 #6
sorry,

st.executeUpdate(\"INSERT INTO test values (\'\" +i \"\',\'\"start\"\') \");
Avatar billede disky Nybegynder
20. november 2001 - 15:39 #7
hehe
Avatar billede phoye Nybegynder
20. november 2001 - 15:41 #8
Kan man også det andet?
Hvis man kan se hvor lang tid det tog uden at indsætte tiden i database er det fint,
Jeg skal bare kunne se forskellen mellem start-og sluttidsspunktet !

KAn du ikke vise mig det?
Avatar billede disky Nybegynder
20. november 2001 - 15:44 #9
<%
long start=System.getTimeMillis();
for(int i=0; i<100; i++)
{
  //Lav noget database halløj her
}
long stop=System.getTimeMillis();
%>
<p>Tid bruger er = <%=stop-start%> ms.</p>
Avatar billede phoye Nybegynder
20. november 2001 - 15:49 #10
jeg prøver lige engang!
Avatar billede phoye Nybegynder
20. november 2001 - 15:53 #11
Jeg har lige nogle problemer med database-sjoveren.

st.executeUpdate(\"INSERT INTO test values (\'\" +i \"\') \");

vil ikke som jeg vil.
Avatar billede phoye Nybegynder
20. november 2001 - 16:01 #12

st.executeUpdate(\"INSERT INTO test values (\'\" + i \"\') \");

fejl:\')\' expected.
st.executeUpdate(\"INSERT INTO test values (\'\" + i <--\"\') \");
                                                 
Avatar billede disky Nybegynder
21. november 2001 - 08:20 #13
du skal skrive

st.executeUpdate(\"INSERT INTO test values (\'\" + i +\"\') \");

Ellers tror den du er færdig med at concatenere dine String\'s bider.
Avatar billede phoye Nybegynder
21. november 2001 - 15:54 #14
Jeg får fejl med system.getTimeMillis(), Jeg har så fundet ud af at det hedder getTimeInMillis() men den brokker sig stadig, hvorfor?

Note: sun.tools.javac.Main has been deprecated.
/eks/test.jsp:30: Method getTimeInMillis() not found in class java.lang.System.
long start=System.getTimeInMillis();
                                ^
/eks/test.jsp:42: Method getTimeInMillis() not found in class java.lang.System.
long stop=System.getTimeInMillis() ;
                               
Avatar billede disky Nybegynder
21. november 2001 - 15:57 #15
damm min hukommelse er noget lousy til tider:)

her er den:
long start=System.currentTimeMillis();
long stop=System.currentTimeMillis();
Avatar billede disky Nybegynder
22. november 2001 - 13:18 #16
fået det til at virke ?
Avatar billede phoye Nybegynder
23. november 2001 - 22:44 #17
Ja, tak skal du have!!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester