performance frage

Status
Nicht offen für weitere Antworten.

headgrowe

Aktives Mitglied
also ich habe 2 mal das gleiche auf verschiedene weise abgefrag und es dauerte verschieden lang...hab hier die 2 codebeispiele...

tabellenstruktur:

0 <= nummer <= 100....die tabelle hat 500.000 zeilen um die performance zu testen

ID| nummer

1 | 3
2 | 99
3 | 3
4 | 6
....

nun die abfrage....ich mochte wissen, wie offt zb. die zahl 5 oder 40 vorkommt:

abfrage 1: dauert 27sec
Java:
String[] colums = {"nummer","anzahl"};
Object[][] data = new Object[101][2];
	for (int i=0;i<=100;i++){			
			ResultSet rs = st.executeQuery("SELECT ID,nummer FROM test where nummer =" + i);
			rs.last();
			data[i][0] = i;
			data[i][1] = rs.getRow();
			rs.close();
		}

abfrage 2: dauert nur 4sec

Java:
ResultSet rs = st.executeQuery("SELECT ID,nummer FROM test where ID < 500000");
		int[] a = new int[101];
		while(rs.next())
		{			
			a[rs.getInt(2)] += 1;
		}
		for(int i = 0;i<=100;i++){
			data[i][0] = i;
			data[i][1] = a[i];
		}
		rs.close();

ich dachte immer datenbanken sind dafür gebaut abfragen zu machen? und nicht das ich alles rauslese und dann selber auswerte...hmmm

die ausgabe sieht so aus:

...
3 4888
4 5002
5 5106
6 5108
7 5069
...
 
Zuletzt bearbeitet:
S

SlaterB

Gast
die Bedingungen sind unfair, 100 DB-Abfragen sind allein schon vom Transportaufwand langsam,
von 100x alle Datensätze durchlaufen in der DB ganz zu schweigen

vergleiche deine 4 sec (+ Speicherbedarf usw.) mit

ResultSet rs = st.executeQuery("SELECT nummer,count(*) FROM test group by nummer");
 

headgrowe

Aktives Mitglied
hehe,
(1-2sec) war ja klar^^ hätte mich stark gewundert, wenn sqlDB langsammer ist.... nur ich kenn die sql befehle nicht :( gibts da ein gutes tutorial?
 
S

SlaterB

Gast
wo nicht, google liefert tausende,
was bestimmtes kann ich allerdings nicht empfehlen
 

headgrowe

Aktives Mitglied
schade....und wenn wir schon bei performence sind......das schreiben, so wie ich es mache^^ is schlecht
da muss es was besseres geben ;)

for(...i<1000)
rs.moveToInsertRow();
rs.updateString("name", "Danke SlaterB"+i);
rs.insertRow(); //wird ja immer gleich in die DB geschrieben...kostet natürlich per.
 

headgrowe

Aktives Mitglied
hmmmm das stimmt...der erste link is immer der beste^^

naja, leider hat das meine frage zu "schreiben" nicht ganz beantwortet...
wie kann ich zb. 1000 zeilen in eine DB schreiben^^
und das nicht, das ich "insert into..." in eine schleife gäbe....;(
oder einen ewich langen string mit "insert into...UNION...UNION.." mache

sondern direct alle 1000 zeilen an sql schicke...oder mit einem stream...was weiß ich^^
wie kann ich new Obejct[1000][10] am besten schreiben?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
X Connection schließen oder speichern? Performance Frage Datenbankprogrammierung 7
B Performance steigern, aber wie? Datenbankprogrammierung 8
V SQLite Performance: 1 Datei mit einzelnen Einträgen gegenüber SQLite Datenbankprogrammierung 7
S HSQLDB Performance von CHECKPOINT Datenbankprogrammierung 1
R Oracle Performance bei SELECT mit vielen Reihen Datenbankprogrammierung 5
A Performance GPS Entfernung berechnen Datenbankprogrammierung 8
F Performance-Tool für Oracle Datenbankprogrammierung 2
D mysql insert - performance/robustheit, "best practice" Datenbankprogrammierung 15
P Was ist Performance-Mäßig besser? Datenbankprogrammierung 21
S Performance bei Massinserts Datenbankprogrammierung 5
V Performance gut? Datenbankprogrammierung 22
O Derby Performance Probleme? Datenbankprogrammierung 4
G JDBC - Performance Datenbankprogrammierung 4
A HSQLDB Performance bei erstem Zugriff Datenbankprogrammierung 6
Y Hibernate - Performance Datenbankprogrammierung 6
M JDBC-Performance extrem schlecht - Konfigurationsfehler? Datenbankprogrammierung 4
A Viele Abfragen auf einmal: Performance Datenbankprogrammierung 2
J MySQL - executeUpdate - Performance Datenbankprogrammierung 13
R hsqldb: performance, große tabellen und so Datenbankprogrammierung 10
R db4o und Performance Datenbankprogrammierung 5
S ResultSet, Performance Datenbankprogrammierung 18
G Datenbank: Performance Tuning Datenbankprogrammierung 4
M Frage zu Bundesliga-DB Datenbankprogrammierung 1
pkm Frage zu Encodingproblem bei einer Datenbankanbindung Datenbankprogrammierung 1
B Frage bei einer SQL Query Datenbankprogrammierung 3
B Frage zu Datenbank Design bei Events (ZenDesk) Datenbankprogrammierung 1
B SQLite Frage zu SQLite Datenbankverbindung Datenbankprogrammierung 7
M Frage zu JSON Datenbankprogrammierung 16
Psypsy Hibernate / JPA OneToOne MappedBy Frage Datenbankprogrammierung 2
P Frage zu Connection.close() Datenbankprogrammierung 4
R MySQL Frage zum Anlegen von Artikeln inkl. Verbindungen Datenbankprogrammierung 0
M Grundlegende Klassen-Design Frage Datenbankprogrammierung 0
P MySQL Frage zur Einbindung in ein Java Projekt Datenbankprogrammierung 2
I Frage zu Datenmodellierung Datenbankprogrammierung 3
J Normalisierung - Allgemeine Frage zur 3. Normalform (Eventuelle Abhängigkeit) Datenbankprogrammierung 4
F Normalisierung Datenbank Frage Datenbankprogrammierung 5
J Frage zu ResultSet Datenbankprogrammierung 3
W Frage zur Datenbankwahl bei Umstieg auf Java Datenbankprogrammierung 7
D Frage zu DISTINCT in SQL Datenbankprogrammierung 5
K Frage zur Datenprotokollierung bei DML Anweisungen Datenbankprogrammierung 3
K Frage zu SQL Datenbankprogrammierung 2
L PostgreSQL Hibernate-Frage Datenbankprogrammierung 2
K Frage zu Datenbankmodellierung Datenbankprogrammierung 15
D Generelle Frage zum Umgang mit Datensätzen Datenbankprogrammierung 5
L Frage zu UpdateQuery Datenbankprogrammierung 12
8 MySQL Kurze Frage zur Sicherheit Datenbankprogrammierung 9
D Frage zu INSERTS über mehrere Datenbanktabellen Datenbankprogrammierung 3
D Frage zu Ausführungsmöglichkeiten von SQL Befehlen Datenbankprogrammierung 13
D Frage zu SQL Syntax Datenbankprogrammierung 17
D Frage zu potenziellen Leerzeichen in einer Datenbank Datenbankprogrammierung 5
J mal wieder eine Frage zu parallelen Transaktionen.. Datenbankprogrammierung 2
V Frage zu Hibernate-Mapping Datenbankprogrammierung 11
N Allg. Frage zur Datenbankverbindung Datenbankprogrammierung 2
E einfache Frage bei DB-Zugriff Datenbankprogrammierung 11
S MySQL Frage zu LeftJoin Abfrage Datenbankprogrammierung 2
O eigentlich simple SQL Frage Datenbankprogrammierung 2
M Frage zu folgender Query in EJB-QL Datenbankprogrammierung 4
H JBoss: Frage zur Datasource in der ...-ds.xml Datenbankprogrammierung 4
F Frage zu Prepared Statement Datenbankprogrammierung 2
R hibernate Frage zu configFile-Pfad und Groß/Kleinschreibung von Postgres-Tabellen Datenbankprogrammierung 8
U Frage zum Erfassen von hinzufügten und entfernten Objekten Datenbankprogrammierung 9
M prinzipielle Frage zu Datenbanken und jars ... Datenbankprogrammierung 2
S Hibernate - spezielle Frage, n zu n Beziehung Datenbankprogrammierung 11
R Frage zu PreparedStatement/ResultSet Datenbankprogrammierung 16
J Frage zu Synchronisation bei parallelem Zugriff, speziell mit JPA Datenbankprogrammierung 2
F EclipseLink persistence.xml Frage Datenbankprogrammierung 11
N Frage zur Sicherheit von Konfigurationsdatei Datenbankprogrammierung 4
G Frage zum Insert-Statement Datenbankprogrammierung 2
Antoras Design-Frage: Datenzuordnung zu verschiedenen Accounts Datenbankprogrammierung 2
T HSQL: verständnis Frage Datenbankprogrammierung 2
T Java JPA Frage bzgl. DISTINCT Datenbankprogrammierung 2
G Frage zu connection? Datenbankprogrammierung 9
A Frage zu SQL-Abfrage Datenbankprogrammierung 2
G Frage zu SQL "WHERE IN (1, 2, 3. , N)" Datenbankprogrammierung 8
G Allgemeine Frage zu Datenbanklimits Datenbankprogrammierung 27
G allgemeine JDBC-Connection Frage Datenbankprogrammierung 2
G Frage zu Hibernate und M:N Beziehung Datenbankprogrammierung 9
K HQL Frage Datenbankprogrammierung 10
D kurze Frage zu einem Query Datenbankprogrammierung 6
B Hibernate mit MySql - Verständniss Frage Datenbankprogrammierung 8
N Kleine Frage zu Connection Pooling mit DataSource Datenbankprogrammierung 2
T Update-Frage Datenbankprogrammierung 11
E SQL-Frage (Löschen aller Datensätze) Datenbankprogrammierung 9
P Frage zu Performancetest einer Datenbank Datenbankprogrammierung 3
W Frage zum Umgang mit DB-Daten Datenbankprogrammierung 2
E Nochmal eine Datenbankabfrage Frage :-o (JOIN oder so) Datenbankprogrammierung 4
P frage zu "" bei INSERT STATEMENTS Datenbankprogrammierung 2
K frage zum ausführen eines INSERT statements Datenbankprogrammierung 16
L frage zu mySQL Datenbankprogrammierung 4
C Mal ne Frage an die Experten Datenbankprogrammierung 4
G Frage zum Datenbankdesign Datenbankprogrammierung 5
J DB Verbindung Design Frage Datenbankprogrammierung 5
M Datenbankanbindung in Java : Newbie-Frage Datenbankprogrammierung 2
U Grundsätzliche Frage Datenbankprogrammierung 4
S Frage zu INSERT Datenbankprogrammierung 2
X Wieder mal ne Frage ... Datenbankprogrammierung 15

Ähnliche Java Themen

Neue Themen


Oben