Advertisement
kanciastopantalones

BD3_solid

Dec 16th, 2016
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.73 KB | None | 0 0
  1. DB3_SOLID
  2. ----------------------------------
  3.  
  4. MAIN.java
  5. ---------------------------------------
  6. package loco;
  7.  
  8. import java.sql.Connection;
  9. import java.sql.DriverManager;
  10. import java.sql.ResultSet;
  11. import java.sql.SQLException;
  12. import java.sql.Statement;
  13. import solid.jdbc.SolidDriver;
  14.  
  15. /**
  16. *
  17. * @author polsl
  18. */
  19. public class Loco {
  20.  
  21. /**
  22. * @param args the command line arguments
  23. */
  24. private static Connection con = null;
  25.  
  26. private static String randomString() {
  27. return Long.toHexString(Double.doubleToLongBits(Math.random()));
  28. }
  29.  
  30. private static int randomInt() {
  31. return (int)(Math.random() * 10000);
  32. }
  33.  
  34. private static void runQuery(String query) {
  35.  
  36. try {
  37. System.out.println("Wykonuje: " + query);
  38.  
  39. Statement sel = con.createStatement();
  40. long time = System.currentTimeMillis();
  41. sel.execute(query);
  42. time = System.currentTimeMillis() - time;
  43.  
  44. System.out.println("Czas wykonania: " + time);
  45. System.out.println();
  46.  
  47. sel.close();
  48.  
  49. } catch(SQLException ex) {
  50. System.out.println("Blad. " + ex.getMessage());
  51. }
  52.  
  53. }
  54.  
  55. public static void main(String[] args) {
  56.  
  57. try {
  58. SolidDriver drive = (SolidDriver)Class.forName("solid.jdbc.SolidDriver").newInstance();
  59. con = DriverManager.getConnection("jdbc:solid://localhost:2315/dba/dba", "java", "java");
  60.  
  61. } catch (Exception ex) {
  62. System.out.println("Blad polaczenia z baza.");
  63. ex.printStackTrace();
  64. }
  65.  
  66. /*
  67. runQuery("CREATE TABLE Persons ( PersonID int, LastName varchar(255), FirstName varchar(255), City varchar(255) )");
  68. for(int i = 0; i < 200000; ++i) {
  69. runQuery(String.format("INSERT INTO Persons VALUES ( %d, '%s', '%s', '%s')", randomInt(), randomString(), randomString(), randomString()));
  70. }
  71. *//*
  72. runQuery("CREATE TABLE Pets ( PetID int, Name varchar(255), Species varchar(255))");
  73. for(int i = 0; i < 200000; ++i) {
  74. runQuery(String.format("INSERT INTO Pets VALUES ( %d, '%s', '%s')", randomInt(), randomString(), randomString()));
  75. }*/
  76.  
  77.  
  78. runQuery("SELECT * FROM persons"); // ~10ms
  79. runQuery("SELECT SUM(personid) FROM persons"); // ~80ms
  80. runQuery("SELECT AVG(personid * personid) AS personId FROM persons GROUP BY city HAVING SUM(personId)> 8000"); // ~700ms
  81. runQuery("SELECT * FROM persons"); // ~10ms
  82. runQuery("SELECT * FROM persons, pets"); // ~10ms
  83. runQuery("SELECT * FROM persons LEFT JOIN pets ON persons.personid = pets.petid"); // ~7300ms
  84. runQuery("SELECT * FROM persons WHERE personid NOT IN (1111, 2222, 3333, 4444, 5555, 6666, 7777, 8888, 9999)");// ~10ms
  85. runQuery("SELECT * FROM persons WHERE NOT EXISTS (SELECT personid where personid = 9999)");// ~10ms
  86.  
  87. try {
  88.  
  89. int rows = 0; //200000;
  90. for(int i = 0; i < rows; ++i) {
  91. Statement stmt = con.createStatement();
  92. stmt.executeUpdate(String.format("INSERT INTO Persons VALUES ( %d, '%s', '%s', '%s')", randomInt(), randomString(), randomString(), randomString()));
  93. stmt.close();
  94. }
  95. } catch(SQLException ex){
  96. System.out.println("Blad wstawiania wierszy.");
  97. System.out.println(ex.getMessage());
  98. }
  99.  
  100. try {
  101.  
  102. con.close();
  103.  
  104. } catch (SQLException ex) {
  105. System.out.println("Blad zwalniania zasobow.");
  106. System.out.println(ex.getMessage());
  107. }
  108.  
  109. }
  110. }
  111.  
  112. ------------------------------------------
  113. WYNIKI.txt
  114. ---------------------------------------
  115.  
  116. run:
  117. Wykonuje: SELECT * FROM persons
  118. Czas wykonania: 10
  119.  
  120. Wykonuje: SELECT SUM(personid) FROM persons
  121. Czas wykonania: 80
  122.  
  123. Wykonuje: SELECT AVG(personid * personid) AS personId FROM persons GROUP BY city HAVING SUM(personId)> 8000
  124. Czas wykonania: 621
  125.  
  126. Wykonuje: SELECT * FROM persons
  127. Czas wykonania: 10
  128.  
  129. Wykonuje: SELECT * FROM persons, pets
  130. Czas wykonania: 0
  131.  
  132. Wykonuje: SELECT * FROM persons LEFT JOIN pets ON persons.personid = pets.petid
  133. Czas wykonania: 7391
  134.  
  135. Wykonuje: SELECT * FROM persons WHERE personid NOT IN (1111, 2222, 3333, 4444, 5555, 6666, 7777, 8888, 9999)
  136. Czas wykonania: 10
  137.  
  138. Wykonuje: SELECT * FROM persons WHERE NOT EXISTS (SELECT personid where personid = 9999)
  139. Czas wykonania: 10
  140.  
  141. BUILD SUCCESSFUL (total time: 8 seconds)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement