JDBC batch-Abfrage für hohe Leistung
Will ich tun, batch-Abfrage, DB-für hohe Leistung, Beispiel sql für die Abfrage basiert auf verschiedenen customer_id:
select order_id,
cost
from customer c
join order o using(id)
where c.id = ...
order by
Ich bin mir nicht sicher, wie es zu tun mit JDBC-Anweisung. Ich weiß, dass ich kann verwenden Sie die gespeicherte Prozedur für diesen Zweck, aber es ist viel besser, wenn ich einfach schreiben von sql in Java-app anstelle von SP.
Ich bin mit DBCP für meine Java-client und MySQL-DB.
- Was genau meinst du mit "Stapel-Abfrage"? Sie können
where c.id in (...)
um mehr als einen Kunden. - Ich habe keine Ahnung, was du meinst mit "mehrere Ergebnismengen für die Kunden".
- Ich meine ein ResultSet für einen Kunden, nicht mischen Sie die Zeilen zurückgeben.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den JDBC-Spezifikation 4.0 beschreibt einen Mechanismus für die batch-updates. Als solche, die batch Funktionen in JDBC kann verwendet werden, für die insert-oder update-Zwecken. Dies ist beschrieben in Kapitel 14 von der Spezifikation.
AFAIK gibt es nicht ein Mechanismus für die Auswahl von Chargen, wahrscheinlich, weil es gibt keine erkennbare Notwendigkeit, das da, wie andere empfohlen haben, können Sie einfach abrufen, alle Zeilen, die Sie wollen auf einmal richtig durch den Bau Ihrer Abfrage.
Ausgabe
Gibt es einen Grund, warum Sie denken würden, dass Sie brauchen so etwas wie ein batch-select-Anweisung?
Ist es wirklich egal, was ist Ihre SQL-Anweisung (Sie können so viele verschachtelte joins, wie Ihre DB verarbeiten kann). Unten ist die grundlegende Java-Beispiel (nicht DBCP). Für DBCP Beispiel, die ist ziemlich ähnlich, Sie können sich über Ihre Beispiel.
executeQuery()
BTW: in deinem Beispiel 2 Abfragen konsolidiert werden können in einem