Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package tehokkuus;
- import java.io.File;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.PreparedStatement;
- import java.sql.SQLException;
- import java.util.ArrayList;
- import java.util.List;
- public class OperaatioidenTehokkuus {
- public static void main(String[] args) throws Exception {
- // luodaan lisättävät oliot
- Generaattori generaattori = new Generaattori();
- List<Data> datat = new ArrayList<>();
- for (int i = 0; i < 100; i++) {
- datat.add(new Data(generaattori.ip(), generaattori.address(), generaattori.operation(), generaattori.user(), generaattori.device(), generaattori.date()));
- }
- // operaation keston mittaaminen onnistuu System.nanotime()-metodilla.
- // testaa tietokantaa 1
- File dbFile1 = new File("db", "tapahtumat-denormalisoitu.db");
- Connection conn = DriverManager.getConnection("jdbc:sqlite:" + dbFile1.getAbsolutePath());
- long alku1 = System.nanoTime();
- for (Data data : datat) {
- PreparedStatement stmt = conn.prepareStatement("INSERT INTO Tapahtuma (kayttajatunnus, osoite, aika, operaatio, ip, laite) VALUES (?, ?, ?, ?, ?, ?)");
- stmt.setString(1, data.getUser());
- stmt.setString(2, data.getAddress());
- stmt.setInt(3, data.getDate().getSeconds());
- stmt.setString(4, data.getOperation());
- stmt.setString(5, data.getIp());
- stmt.setString(6, data.getDevice());
- stmt.executeUpdate();
- }
- conn.close();
- long loppu1 = System.nanoTime();
- System.out.println("Tiedon lisääminen tietokantaan 1 kesti " + (loppu1 - alku1) + " nanosekuntia.");
- // testaa tietokantaa 2
- File dbFile2 = new File("db", "tapahtumat-normalisoitu.db");
- conn = DriverManager.getConnection("jdbc:sqlite:" + dbFile2.getAbsolutePath());
- long alku2 = System.nanoTime();
- for (Data rivi : datat) {
- PreparedStatement stmt = conn.prepareStatement("INSERt INTO Tapahtuma (aika) VALUES (100)");
- stmt.executeUpdate();
- }
- conn.close();
- long loppu2 = System.nanoTime();
- System.out.println("Tiedon lisääminen tietokantaan 2 kesti " + (loppu2 - alku2) + " nanosekuntia.");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement