Laden...

Connection Pooling

Erstellt von WebdevIGB vor 19 Jahren Letzter Beitrag vor 19 Jahren 2.379 Views
W
WebdevIGB Themenstarter:in
16 Beiträge seit 2004
vor 19 Jahren
Connection Pooling

Hallo,

kann mir jemand erklären was Connection Pooling ist, welche Vorteile man hat und wie ich es bei MySQL anwenden kann?

Gruß WebdevIGB

F
529 Beiträge seit 2003
vor 19 Jahren

Wenn du eine Datenbankverbindung in deinem Programm verwendest, dann führst du ja nicht pernament Transaktionen durch. Die restliche Zeit, wenn du zwar zur Datenbank verbunden bist, aber keine Transaktionen durchführst, dann ist deine Verbindung "IDLE"... Das Connectionpooling erlaubt es also, eine Verbindung die IDLE ist, von einem anderen Thread aus zu verwenden um Transaktionen durchzuführen. Damit soll man angeblich den Datenbankserver schonen.

Wie das genau mit der Anwendung gemeint ist, ist mir nicht so ganz klar. Warscheinlich meinen die, dass man den Datenbankzugriff in eine (statische) Klasse kapseln soll. Diese Klasse würde dann im Konstruktor eine Datenbankverbindung öffnen, und später auch wieder schließen....

--
mfg
Franknstein

Besuchen sie das VisualC++ - Forum

N
4.644 Beiträge seit 2004
vor 19 Jahren

Connection Pooling verkürzt die Zeit für den Auf- und Abbau von Verbindungen zum Datenbanksystem:
Beim Schließen einer Verbindung wird diese nicht wirklich beendet, sondern nur markiert und in ein Sammelbecken (Connection Pool) von Verbindungen mit gleichen Eigenschaften zur Wiederverwendung aufgenommen. Das Datenbanksystem kann nachfolgende Verbindungsanforderungen mit identischem Connection-String aus dem Pool bedienen, ohne eine neue Verbindung erzeugen zu müssen.

F
529 Beiträge seit 2003
vor 19 Jahren

Huch...
Dann ist das bei JDBC wohl was anderes(oder ich kann warscheinlich kein Englisch)

Connection pooling is a technique of creating and managing a pool of connections that are ready for use by any thread that needs them.

This technique of "pooling" connections is based on the fact that most applications only need a thread to have access to a JDBC connection when they are actively processing a transaction, which usually take only milliseconds to complete. When not processing a transaction, the connection would otherwise sit idle. Instead, connection pooling allows the idle connection to be used by some other thread to do useful work.

In practice, when a thread needs to do work against a MySQL or other database with JDBC, it requests a connection from the pool. When the thread is finished using the connection, it returns it to the pool, so that it may be used by any other threads that want to use it.

Besuchen sie das VisualC++ - Forum