# JDBC Zugriffszeiten



## Bjarki (22. Jun 2010)

Hallo Zusammen,

ich greife über eine Standleitung auf eine MySQL-Datenbank zu.
Bei meinem Programm habe ich die Zeit gemessen, die  benötigt wird um eine Verbindung aufzubauen und anschließend wieder zu schließen: ca. 2.4 Sekunden!
Mit dem Tool DBVisualizer geht das im zweistelligen Milisekundenbereich.

MySQL-Version: 5.0.67
Mein Treiber: mysql-connector-java-5.1.12
Treiber DBVisualizer: mysql-connector-java-5.1.10

Da das Tool ebenfalls in Java geschrieben ist, frag ich mich welche Optimierungsmöglichkeiten es gibt.


```
private static String DRIVER_CLASS = "com.mysql.jdbc.Driver";
private static String CONNECT_URL= "jdbc:mysql://adresse/db";
private static String USER = "user";
private static String PWD = "pwd";

public static Connection getConnection() throws ClassNotFoundException,
			SQLException {
		Class.forName(DRIVER_CLASS);

		Properties prop = new Properties();
		if (USER != null)
			prop.setProperty("user", USER);
		if (PWD != null)
			prop.setProperty("password", PWD);

		return DriverManager.getConnection(CONNECT_URL, prop);
	}

[/Java]
```


----------



## agentone (22. Jun 2010)

> Mein Treiber: mysql-connector-java-5.1.12
> Treiber DBVisualizer: mysql-connector-java-5.1.10


Häh?


----------



## Bjarki (22. Jun 2010)

Mein Treiber ist die Version die ich in meiner Anwendung verwende. Die andere verwendet das Tool. Ist eigentlich auch unwichtig, glaube nicht das in den unterschiedlichen Treiberversionen das Problem liegt.


----------



## ARadauer (22. Jun 2010)

Das aufbauen der Verbinung zur Datenbank dauert einfach. Ich denke es dauert bei dem Tool genau so lange, nur es lässt zwischen den Queries die Verbinung offen... was man auch machen soll... connection pooling


----------



## agentone (22. Jun 2010)

Und bei diesem DBVisualizer ist nicht zufällig der Quelltext dabei?

Aber sonst: Der DriverManager kennt keine anderen Methoden zum Verbinden, wie sollte man da etwas optimieren?
Du kannst die Verbindung doch die ganze Zeit offen lassen. Niemand zwingt dich, sie zu schließen!

edit: Sorry, wegen dem "Häh?". Mein Gehirn hatte grad ein BlueScreen...


----------



## Bjarki (22. Jun 2010)

Ihr habt recht. Irgendwie hab ich es mit dem permanenten schließen der Verbindungen übertrieben. Da es sich um eine Client-Anwendung handelt habe ich das automatische Schließen entfernt und es darf nur eine Verbindung pro Anwendung existieren.

Vielen Dank für die Tipps ARadauer und agentone. :toll:


----------

