Wann werden Daten übertragen bzw geladen

Status
Nicht offen für weitere Antworten.

ARadauer

Top Contributor
Wenn ich jetzt über JDBC eine Datenbankabfrage durchführe, wann werden genau die Daten vom Server übertragen?
executeQuery,
resultSet.net,
oder
rset.getString...

kann man das so einfach sagen, oder ist das Datenbank abhängig?
 

FenchelT

Bekanntes Mitglied
Hallo Aradauer,

wenn Du das wirklich so genau wissen moechtest, dann koennte ich fuer den MSSQL Server z.B. einen Log mitlaufen lassen und Dir sagen, an welcher Stelle genau die Daten geholt werden.

Ist ca. 10 Min. aufwand.

Vom Gefuehl her wuerde ich aber sagen, dass das beim executeQuery durchgefuehrt wird.
REsultSet.next kann ich mir irgendwie nicht vorstellen, ich denke da sind die Daten schon im ResultSet.
Ich gehe davon aus, dass die Handhabung aehnlich ist, wie beim CachedRowSet.
Da laedts Du die Daten ja auch nicht jedes Mal nach, wenn Du ein .next() aufrufst.


Aber wie gesagt, wenn Du moechtest, logge ich das fuer DIch mit


Gruesse
 

robertpic71

Bekanntes Mitglied
Eine eindeutige Antwort zu diesem Thema ist nicht einfach, da es letztendlich von der Implementierung (und den Fähigkeiten der Datenquelle) sowie den Defaultwerten des JDBC-Treibers abhängt.

Wichtige Einstellungen sind:
ResultSet Type:
ResultSet.TYPE_FORWARD_ONLY, ResultSet.TYPE_SCROLL_INSENSITIVE, or ResultSet.TYPE_SCROLL_SENSITIVE

FetchDirection:
ResultSet.FETCH_FORWARD, ResultSet.FETCH_REVERSE, or ResultSet.FETCH_UNKNOWN

ResultSetConcurrency
ResultSet.CONCUR_READ_ONLY or ResultSet.CONCUR_UPDATABLE

und die schon erwähnte
FetchSize
Wobei (zumindest in der Vergangenheit) das nicht alle Treiber unterstützen.

Ein üblicher Weg um ein gestreamtes ResultSet zu erhalten ist:
Code:
stmt = conn.createStatement(java.sql.ResultSet.TYPE_FORWARD_ONLY,
java.sql.ResultSet.CONCUR_READ_ONLY);
stmt.setFetchSize(Integer.MIN_VALUE);
Um den Komfort von resultSet.last() anzubieten, sind die Defaultwerte meist anders. Bei Memoryproblemen in Verbindung mit ResultsSets wird zu dieser Einstellung geraten.

Bei manchen Treibern kann man das Buffern über die Einstellungen steuern, z.B. beim M$-JDBC-Treiber mit setResponseBuffering("adaptive").

Also sichere Aussagen kann man nur für den jeweiligen JDBC-Treiber treffen. Wenn die Doku nicht genug hergibt muss man wohl tracen.

BTW: Welche Datenbank bzw. welchen Treiber verwendest du?

Was JDBC angeht, habe ich noch keine Traceerfahrung (benötigt). Aus M$-Zeiten kann ich noch den ODBC-Weg beschreiben, der wahrscheinlich auch in vielen JDBC-Treiber Anwendung findet.
Per Default wird das ganze ResultSet einglesen, allerdings nur die relativeRecordNumber je Satz. Wenn man den Satz dann in der Applikation verarbeitet, werden die Daten mit der Satznummer abgeholt.

/Robert
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Herausfinden wann Query null zurück gibt? Datenbankprogrammierung 1
Kirby.exe Wann sind Transactionen Serialisierbar? Datenbankprogrammierung 2
OnDemand MySQL und mongoDB wann macht was Sinn? Datenbankprogrammierung 11
S Wann SQL oder NOSQL (Mongo)? Datenbankprogrammierung 10
E MySQL SQL - wann connection schließen Datenbankprogrammierung 2
Helgon H2 Verbindung öffnen/schließen - Dauer, wann, wie lange? Datenbankprogrammierung 2
P Wann kommt commit zurück Datenbankprogrammierung 3
S Wann Datenbank überladen? Datenbankprogrammierung 15
W Wann ist eine Telefonnummer atomar ? Datenbankprogrammierung 3
K Wann schließt ihr die Datenbankverbindung? Datenbankprogrammierung 7
K db connection wann schließen Datenbankprogrammierung 4
R Mongodb Daten werden immer überschrieben Datenbankprogrammierung 7
T Datenzeilen werden nicht gelöscht Datenbankprogrammierung 6
S Variable in main soll mit der generierten Zahl aus einer Methode ausgefüllt werden Datenbankprogrammierung 3
Avalon Attribute werden mit Unterstrich in eine MySQL Datenbank eingetragen Datenbankprogrammierung 10
pkm PostgreSQL Auf eine Spalte kann aus einem Teil der SQL-Aussage nicht zugegriffen werden Datenbankprogrammierung 3
Kirby.exe Es werden keine Einträge in der Datenbank gemacht Datenbankprogrammierung 23
JG12111989 DB-Daten werden falsch dargestellt Datenbankprogrammierung 7
J Java fügt Datensätze ein aber diese werden nicht richtig abgefragt Datenbankprogrammierung 3
I Es kann keine Verbindung zum Server aufgebaut werden Datenbankprogrammierung 12
Ananaskirsche Datenbanktreiber kann nicht geladen werden Datenbankprogrammierung 2
E Warum werden für Datenbanktabellen Schemanamen festgelegt? Datenbankprogrammierung 1
E Warum kann mein SQL-File nicht in DB2 ausgeführt werden? Datenbankprogrammierung 1
M JDBC Tabellen mit Boolean Spalten können nicht erstellt werden. DB Updaten - wie? Datenbankprogrammierung 6
T Tabellen von nicht mehr vorhandenen Entities werden generiert Datenbankprogrammierung 0
J MySQL Workbench Tabellen werden verschoben Datenbankprogrammierung 1
B Nur 99% der Datensätze werden in Tabelle geschrieben Datenbankprogrammierung 2
D [xBaseJ] Datei kann nicht geöffnet werden Datenbankprogrammierung 2
S MySQL Abfrage über mehrere Tabellen + Einträge werden überschrieben Datenbankprogrammierung 1
R Datenbankverbindung kann nicht hergestellt werden Datenbankprogrammierung 8
Kandum MySQL Anzahl gefundener Datensätze bleibt gleich, auch wenn mehr existieren und ausgegeben werden Datenbankprogrammierung 3
J JDBC in Library|"Treiber konnte nicht geladen werden"" Datenbankprogrammierung 2
D MySQL Treiber konnte nicht geladen werden Datenbankprogrammierung 3
D MySQL Daten werden aus Datenbank gelesen, obwohl sie dort gar nicht angekommen sind Datenbankprogrammierung 8
L SQLite Daten werden nicht in die Tabelle eingefügt Datenbankprogrammierung 7
D Können nur angesehende Datensätze geloggt werden? Datenbankprogrammierung 4
T Umlaute werden aus der *.mdb nicht gelesen Datenbankprogrammierung 3
L CLOB-Daten werden beim Einfügen in die Datenbank geändert? Datenbankprogrammierung 5
B Es werden keine Tupel in Tabellen abgelegt Datenbankprogrammierung 2
N Connection kann nicht geschlossen werden!? Datenbankprogrammierung 4
S Hibernate - Abgeleitete Klassen werden nicht angezeigt wenn... Datenbankprogrammierung 6
S Embedded DB, die aus mehreren JVMs gestartet werden kann? Datenbankprogrammierung 10
H Oracle - Indizes werden nicht genommen Datenbankprogrammierung 6
S Identitätsspalte kann nicht aktualisiert werden Datenbankprogrammierung 11
G hibernate.cfg.xml kann nicht gefunden werden. Datenbankprogrammierung 3
B Datenbankverbindung kann nicht aufgebaut werden. Datenbankprogrammierung 2
P Es werden keine Daten mehr in die Tabelle eingefügt Datenbankprogrammierung 4
T Hibernate - wie werden Kind-Objekte nachgeladen? Datenbankprogrammierung 3
G Daten werden nicht in die datenbank geschrieben Datenbankprogrammierung 6
M SQL-Befehle werden manchmal nicht komplett übermittelt Datenbankprogrammierung 5
M werden executeBatch()-commandos automatisch commitet ? Datenbankprogrammierung 8
H Verbindung mit Connector/J kann nicht aufgebaut werden Datenbankprogrammierung 3
S MySQL und Java: Falsche Daten werden ausgelesen Datenbankprogrammierung 9
M Die gezogenen Daten werden nicht richtig ins JTableeingefügt Datenbankprogrammierung 8
R Mongodb Daten in einem bestimmten Document speichern Datenbankprogrammierung 1
OnDemand Daten auf mehrere Tabellen aufteilen oder Spalten nutzen Datenbankprogrammierung 2
B Daten HSQL-DB Datenbankprogrammierung 2
V H2 ManyToMany wie speichere ich die Daten? Datenbankprogrammierung 10
thobren Projekt SQlite! Wie kann ich auf auf SQlite Daten zugreifen? Datenbankprogrammierung 4
OnDemand Daten verschlüsseln Datenbankprogrammierung 42
L Oracle Daten in Häppchen selektieren Datenbankprogrammierung 5
L Oracle Daten von Oracle zu MSSQL übertragen Datenbankprogrammierung 4
D Daten aus der Firebase-Echtzeitdatenbank abfragen und in Variablen speichern (JAVA) Datenbankprogrammierung 0
Z Ausgabe nur bestimmter Daten Datenbankprogrammierung 6
E netbeans - jsp Daten in Datenbank hinzufügen Datenbankprogrammierung 2
N Java Abfrage über GUI, Daten hinzufügen Datenbankprogrammierung 54
Kirby.exe Vorschläge zur Verschlüsselung von Daten in der DB Datenbankprogrammierung 2
T Java Spiel Daten speichern Datenbankprogrammierung 1
LimDul H2 Embedded DB und Gigabytes an Daten Datenbankprogrammierung 0
C Datenbank anlegen und über eine Website mit Daten füllen? Datenbankprogrammierung 25
R Wie mit zu viele Daten umgehen? Datenbankprogrammierung 2
F MySQL Wie speichere ich Daten zeitlich abhängig? Datenbankprogrammierung 4
T Oracle Normalisierung und Daten splitten Datenbankprogrammierung 1
K H2 Daten in die H2 console DB eintragen Datenbankprogrammierung 2
L SQLite Ändern der Daten in einem UNIQUE Feld Datenbankprogrammierung 1
S Daten von SQLite Datenbank nutzen Datenbankprogrammierung 5
P JSP - Daten aus 2 Tabellen in eine neue Tabelle einfügen Datenbankprogrammierung 1
L Oracle Daten von einem Server zum andere kopieren Datenbankprogrammierung 24
P Daten in eine mySQL Datenbank einfügen Datenbankprogrammierung 4
L MySQL Vergleichen von Array-Inhalt, Ausgabe gleicher Daten Datenbankprogrammierung 3
W Daten in Java intern abfragen Datenbankprogrammierung 1
G MySQL Java Problem: Nullpointer Exception obwohl Daten vorhanden sind? Datenbankprogrammierung 2
W Daten aus einer Datei von einem VServer auslesen Datenbankprogrammierung 1
I MySQL Datenbankstruktur angleichen - Daten behalten Datenbankprogrammierung 7
O JDBC Daten in zwei Tabellen mit zwei foreach-Schleifen einfügen (insert into) Datenbankprogrammierung 1
P LDAP: Daten eintragen funktioniert nicht Datenbankprogrammierung 7
B MySQL LogIn Daten im Code verstecken Datenbankprogrammierung 3
O mit Multi-Thread Daten aus Datenbank lesen und schreiben Datenbankprogrammierung 22
F Daten verdichten Datenbankprogrammierung 0
Z Finde den Fehler: Daten aus einer Access-Datenbank lesen Datenbankprogrammierung 12
B Daten aus DB in Word Dokument Datenbankprogrammierung 2
D Aktualisierung einer ListView mit Daten aus MySQL-DB Datenbankprogrammierung 5
D Daten posten auf RestApi (Mongodb/NoSQL) Datenbankprogrammierung 0
I Fehler bei Ausgabe der Daten aus der DB Datenbankprogrammierung 3
OnDemand MySQL Daten aktualisieren Datenbankprogrammierung 6
D Daten von einem Server in eigenem Java-Programm benutzen Datenbankprogrammierung 6
M Vergleich von Daten in verschiedenen Tabellen Datenbankprogrammierung 1
S Daten aus Form in Datenbank nur einmal eintragen Datenbankprogrammierung 2
6 JBDC Daten verschlüsseln? Datenbankprogrammierung 2
F MySQL Daten ändern über Java Datenbankprogrammierung 3

Ähnliche Java Themen

Neue Themen


Oben