# insert in Access-DB sehr langsam!?



## Leeprasteen (21. Jul 2004)

führer in einer schleife mehrfach hintereinander folgenden insert aus:

```
sql = "INSERT INTO t_MIB (OID, Gerätetyp) VALUES ('" + var1 + '", '" + var2 + '")"; 
stmt.execute(sql);
```
dabei dauert jeder insert ca ne halbe sekunde - was sich bei mehreren schon summiert und sehr negativ auf die programmperformance auswirkt. ist das normal bei java - oder liegt das an der access-DB bzw wäre ne andere datenbank (z.B oracle) schneller? - wie könnte ich das optimieren?
thx im voraus!


----------



## nollario (21. Jul 2004)

3 punkte.... 

1.) es muss nicht an der db liegen... jdbc ist dann auch nicht schuld, sondern meist ist die netzverbindung zu der db schlecht (liegt die db bei dir auf dem rechner oder auf einem anderen?)

2.) oracle, sybase, db2 sind zwar besser dbs, aber heisst noch lange nicht, dass sie in deinem spezifischen problem die ursache finden

3.) wenn du db debuggen oder nach performance checken willst, dann nutz doch mal p6spy... das checkt jeden db zugriff und dann siehst du auch, ob es am insert liegt oder anderen problemchen: http://www.p6spy.com/


----------



## Leeprasteen (21. Jul 2004)

die datenbank liegt lokal - also daran kanns nicht liegen


----------



## nollario (21. Jul 2004)

wie gross ist die tabelle in die du inserten willst?
was passiert wenn du das insert per normalem sql client absetzt? ist es dann schneller?


----------



## Leeprasteen (21. Jul 2004)

die tabelle ist bzw war noch leer und hat auch nur drei attribute


----------



## Leeprasteen (21. Jul 2004)

mit nem normalen sql-client hab ichs noch nicht probiert - werd ich dann mal machen - bin bloss momentan an nem anderen pc


----------



## nollario (21. Jul 2004)

da würde ich dann mal ansetzen: grundlegende frage ist nämlich erstmal ob das problem in der db, in der schnittstelle zur db, oder im java client liegt.... (die ersten beiden halte ich aber für wahrscheinlicher)


----------

