2011-01-14 11 views
1

Ich habe eine HyperSQL-Datenbank erstellt. Ich habe mich nur gefragt, ob ich mehrere Transaktionen auf einer einzigen Verbindung ausführen könnte. Ich wollte wegen des damit verbundenen Overheads keine neue Verbindung für jede Transaktion erstellen.Kann ich mehrere Datenbanktransaktionen auf einer einzelnen Verbindung unterstützen?

Mit Blick auf einige ähnliche Fragen scheint der Vorschlag zu sein, einen Pool von Datenbankverbindungen zu erstellen und dann zu blockieren, um darauf zu warten, dass einer verfügbar wird. Dies ist eine praktikable, aber nicht wünschenswerte Lösung.

Hintergrund Info (wenn dies für die Antwort relevant ist). Meine Anwendung erstellt einen neuen Thread, wenn eine Anfrage eingeht. Diese Anfrage erfordert eine Datenbanktransaktion. Dann einige nicht unwichtige Zeit später wird diese Transaktion begangen werden.

Jede Beratung schätzen :)

Antwort

1

Sie sollten mehrere Transaktionen über eine einzige Verbindung laufen können sie müssen nur einer nach dem anderen ausgeführt werden, damit Sie sie und Block als die Schlange stehen werden oder stapeln Transaktion passiert. In der Regel können Sie Abfragen nicht parallel über eine einzelne Verbindung ausführen.

+0

Wie ist es möglich? Können Sie Beispielcode hinzufügen? – eatSleepCode

1

Absolut nicht. Jede "Transaktion" muss beginnen, abschließen oder rückgängig machen. Natürlich können Sie eine einzelne Transaktion auf einige Teile in einer einzigen Zeile der Originaltransaktion aufteilen. nicht mehr und nicht weniger.

+0

Sagen Sie Nein zu Mehrfachtransaktion bei einer einzelnen jdbc-Verbindung? Wenn Sie Nein sagen, ist das nicht möglich, dann widerspricht Ihre Antwort der Antwort von @zelio. – eatSleepCode

Verwandte Themen