title: JDBC Batch executing extremely slow
body: <p>Can anyone tell me what I'm doing wrong I'm executing 350 inserts in a mysql and it's taking like 40 secs.</p>
  
  <p>Here is the code</p>
  
  <pre><code>long t0 = System.currentTimeMillis();
          Connection con = connectionProvider.getConnection();
          PreparedStatement s = con.prepareStatement("insert into domkee.friends(idFriends,friend1Id,friend2Id,friend2Name) values(?,?,?,?)");
          con.setAutoCommit(false);
          for (Friend f : friends) {
              s.setLong(1, 0);
              s.setLong(2, f.getFriend1Id());
              s.setLong(3, f.getFriend2Id());
              s.setString(4, f.getFriend2Name());
              s.addBatch();
  
          }
          long t1 = System.currentTimeMillis() - t0;
          s.executeBatch();
          long t2 = System.currentTimeMillis()-t0;
          con.commit();
          long t3 = System.currentTimeMillis()-t0;
          s.close();
          con.close();
          long t4 = System.currentTimeMillis()-t0;
          System.out.println(((double)t1/1000) + ";" + ((double)t2/1000) + ";" + ((double)t3/1000) + ";" + ((double)t4/1000));
  </code></pre>
  
  <p>and here is the console:</p>
  
  <pre><code>0.156;39.251;39.376;39.486
  </code></pre>
  
  <p>So the <code>.executeBatch()</code> is taking like 40 secs, what could be the problem?</p>