Advertisement
Guest User

Untitled

a guest
Feb 21st, 2018
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.30 KB | None | 0 0
  1. package tehokkuus;
  2.  
  3. import java.io.File;
  4. import java.sql.Connection;
  5. import java.sql.DriverManager;
  6. import java.sql.PreparedStatement;
  7. import java.sql.SQLException;
  8. import java.util.ArrayList;
  9. import java.util.List;
  10.  
  11. public class OperaatioidenTehokkuus {
  12.  
  13. public static void main(String[] args) throws Exception {
  14.  
  15. // luodaan lisättävät oliot
  16. Generaattori generaattori = new Generaattori();
  17. List<Data> datat = new ArrayList<>();
  18. for (int i = 0; i < 100; i++) {
  19. datat.add(new Data(generaattori.ip(), generaattori.address(), generaattori.operation(), generaattori.user(), generaattori.device(), generaattori.date()));
  20.  
  21. }
  22.  
  23. // operaation keston mittaaminen onnistuu System.nanotime()-metodilla.
  24. // testaa tietokantaa 1
  25. File dbFile1 = new File("db", "tapahtumat-denormalisoitu.db");
  26.  
  27.  
  28. Connection conn = DriverManager.getConnection("jdbc:sqlite:" + dbFile1.getAbsolutePath());
  29. long alku1 = System.nanoTime();
  30. for (Data data : datat) {
  31. PreparedStatement stmt = conn.prepareStatement("INSERT INTO Tapahtuma (kayttajatunnus, osoite, aika, operaatio, ip, laite) VALUES (?, ?, ?, ?, ?, ?)");
  32. stmt.setString(1, data.getUser());
  33. stmt.setString(2, data.getAddress());
  34. stmt.setInt(3, data.getDate().getSeconds());
  35. stmt.setString(4, data.getOperation());
  36. stmt.setString(5, data.getIp());
  37. stmt.setString(6, data.getDevice());
  38. stmt.executeUpdate();
  39. }
  40. conn.close();
  41.  
  42. long loppu1 = System.nanoTime();
  43. System.out.println("Tiedon lisääminen tietokantaan 1 kesti " + (loppu1 - alku1) + " nanosekuntia.");
  44.  
  45. // testaa tietokantaa 2
  46. File dbFile2 = new File("db", "tapahtumat-normalisoitu.db");
  47. conn = DriverManager.getConnection("jdbc:sqlite:" + dbFile2.getAbsolutePath());
  48. long alku2 = System.nanoTime();
  49. for (Data rivi : datat) {
  50. PreparedStatement stmt = conn.prepareStatement("INSERt INTO Tapahtuma (aika) VALUES (100)");
  51. stmt.executeUpdate();
  52. }
  53. conn.close();
  54.  
  55. long loppu2 = System.nanoTime();
  56.  
  57. System.out.println("Tiedon lisääminen tietokantaan 2 kesti " + (loppu2 - alku2) + " nanosekuntia.");
  58.  
  59. }
  60.  
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement