jVerein mit SQL Datenbank sehr langsam
Verfasst: Samstag 6. Februar 2021, 12:14
Hallo zusammen,
da wir im Verein mehrere Personen haben welche auf die Vereinsdaten Zugriff haben müssen, habe wir ein SQL Datenbank auf unsere Server aufgesetzt und die jVerein „clients“ damit verbunden. Soweit funktioniert das auch aber ist eexxxxxttttrrreeeem langsam, vor allem wenn man die Mitglieds Konten sehen will.
Ich habe das log-level auf debug gesetzt. Es sieht so aus das es ganz viele „Select“ Statements gibt um die Tabelle zu lesen was natürlich bei ein Datensatz von mehr als 4000 sehr langsam ist. Jedes Mal wenn man dann in die Tabelle clickt geht das wieder los, dauert Minuten. Ist praktisch kaum nutzbar.
Ich verstehe nicht warum das nicht mit 1 select Statement gemacht wird, z.B.
Das geht echt schnell und ist auch noch einfacher zu verarbeiten in jVerein „client“ da man dann eine Tabelle zurück bekommt.
Mit ein 2te select kann man dann die Details abholen für die Mitglieder welche man sehen will.
Wie das in JAVA umzusetzen ist und wieviel Code man hierzu ändern muss kann ich nicht sagen.
Wäre das generell möglich zu implementieren?
Danke,
Bas
da wir im Verein mehrere Personen haben welche auf die Vereinsdaten Zugriff haben müssen, habe wir ein SQL Datenbank auf unsere Server aufgesetzt und die jVerein „clients“ damit verbunden. Soweit funktioniert das auch aber ist eexxxxxttttrrreeeem langsam, vor allem wenn man die Mitglieds Konten sehen will.
Ich habe das log-level auf debug gesetzt. Es sieht so aus das es ganz viele „Select“ Statements gibt um die Tabelle zu lesen was natürlich bei ein Datensatz von mehr als 4000 sehr langsam ist. Jedes Mal wenn man dann in die Tabelle clickt geht das wieder los, dauert Minuten. Ist praktisch kaum nutzbar.
Ich verstehe nicht warum das nicht mit 1 select Statement gemacht wird, z.B.
Code: Alles auswählen
SELECT
mitglied.name,
mitglied.vorname,
abrechnungslauf.faelligkeit2 AS Datum,
mitgliedskonto.zweck1 AS Zweck,
abrechnungslauf.id AS 'Abrechnunglauf ID',
abrechnungslauf.datum AS 'Abrechnungsdatum'
FROM mitgliedskonto
LEFT JOIN abrechnungslauf ON abrechnungslauf.id=mitgliedskonto.abrechnungslauf
LEFT JOIN mitglied ON mitglied.id= mitgliedskonto.mitglied;
Mit ein 2te select kann man dann die Details abholen für die Mitglieder welche man sehen will.
Wie das in JAVA umzusetzen ist und wieviel Code man hierzu ändern muss kann ich nicht sagen.
Wäre das generell möglich zu implementieren?
Danke,
Bas