Netzwerkverkehroptimierung [mySQL SELECT]

b0312

Mitglied
Guten Morgen an alle!

Folgende Frage:

Ich hab einen Client und in den MyBatis implementiert.
Über einen SQL SELCT Befehl hole ich mir die benötigten Daten.

Die benötigten Daten haben eine Spalte "status" die folgende Werte haben kann
-"neu"
-"aktuell"
-"archiv"

Insgesamt sind es 3000 Datensätze.

Was ist eurer Meinung nach besser ?

1. 3 verschiedene SQL SELECT Befehle ausführen und das Ergebniss in eine List schreiben
2. 1 Select Befehl ausführen, den Status mitliefern und dann im Programm über Sortieralgorithmen den Datensatz mit dem jeweiligen Status in eine List schreiben.

greeTz* B0312
 

eRaaaa

Top Contributor
Was willst du denn überhaupt machen (wieso vergessen dass so viele mal ausführlich zu erläutern? :-( )
Du willst verschiedene Listen oder wie? Wozu?
Sortieren kannst du auch mit dem SQL Befehl, das kannst du dir also in deinem Programm ersparen.
 

b0312

Mitglied
Hallo,
ich möchte das ResultSet aus dem SELECT Befehl in eine List schreiben.
Diese List ist dann für meine TreeTable in der GUI

im Endeffekt sind es dann 3 verschieden Listen "neu","aktuell","archiv" so gesehen dann auch 3 TreeTables.

in Select kann man sortieren ja, die Frage ist nur was ressourcenschonender und performanter ist.

3 Select Befehle übers Netzwerk oder 1 Select Befehl und die Aufteilung in 3 Listen im Programm ?
 

eRaaaa

Top Contributor
Ich frage mal anders....was würdest du tun wenn du jetzt die Anforderung erhältst, dass du 10 verschiedene Status anstatt 3 hast?! Würdest du dann 10 SQL Befehle absetzen und 10 Listen verwalten?

Ich muss gestehen, dass ich mit TreeTable noch nicht viel gemacht habe und mich da nicht wirklich auskenne, aber kannst du dir da nicht eher ein eigenes TreeTableModel schreiben, welches du nur eine Liste übergibst und dann eben die Aufsplittung (fast automatisch) macht ohne viel Code?!
 

b0312

Mitglied
Die Listen brauche ich sowieso nur temporär. Ich habe eh eine Klasse MyTreeTableModel.java die von AbstractTreeTableModel erbt. Die Liste ist deshalb praktisch weil sie von einem von mir definierten Typ ist.

Java:
status = Vorgang.SELECTNEW; // Neue Aufträge z.B.
MyBatis db = new MyBatis; // MyBatis -> Kommunikation zur DB
List<Auftrag> auftraege;
auftraege = db.getAuftraege(status);

Dann kann ich ins TreeTableModel meine Daten per Schleife eintragen:

Java:
for(Auftrag auftrag : auftraege){
sAuftragID = auftrag.getAuftragID(); //Auftragsnummer
... // Dann der ganze Kram mit TreeTable (Node, getChildren etc.)
...
}

und schon habe ich mein TreeTableModel und muss es nur mehr an die TreeTable übergeben

- Hier stelle ich mir dann die Frage ob es klüger wäre 1 SELECT Befehl sortiert nach statusen ODER
- für jeden Status 1 SELECT Befehl

Im GUI brauche ich dann 3 verschiedene Tabellen "neu","aktuell","archiv" die ich in TabbedPanes eingebaut hab um zwischen den Tabellen zu wechseln
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Strings an Server senden und in MYSQL speichern? Netzwerkprogrammierung 3
K MySQL Receiving Netzwerkprogrammierung 4
V Server / mehrere Clients / MySQL / Konzept Netzwerkprogrammierung 2
L Mit Java über PHP in MySQL anmelden (Login script) Netzwerkprogrammierung 3
R JDBC - Direktzugriff auf MySQL Netzwerkprogrammierung 15
B RMI & Mysql -> Fehler bei der Compilierung Netzwerkprogrammierung 4
B applets mit FTP/MySQL Netzwerkprogrammierung 22
D Offline App mit online MYSQL - DB verbinden Netzwerkprogrammierung 14
H Mysql port forwarding Netzwerkprogrammierung 5
T Java => Login mit MySQL Netzwerkprogrammierung 10
T HTTP Mysql Skript Netzwerkprogrammierung 3
R mehrere MySQL-Zugriffe Netzwerkprogrammierung 3
H MySQL übers Netzwerk Netzwerkprogrammierung 9
G Connection zu MySQL ohne ODBC Netzwerkprogrammierung 8
M RMI direkte Verbindung mit einer Mysql datenbank Netzwerkprogrammierung 13
S Verbindung zu MySQL Netzwerkprogrammierung 10
S Datenbankzugriff auf externe Mysql DB Netzwerkprogrammierung 9
G MySQL über Netzwerk --> Problem Netzwerkprogrammierung 13
S MySQL, PHP, Perl Support in einem Java HTTP Server? Netzwerkprogrammierung 7
K NIO Selector.select() blockt nicht. Netzwerkprogrammierung 3
A Warum ist das Java "Select" so langsam? Netzwerkprogrammierung 13
T select() ohne NIO - oder wie Worker-Thread sauber beenden? Netzwerkprogrammierung 9

Ähnliche Java Themen


Oben