Hallo, benötige dringend Hilfe

OP #6638491
Hallo das Hauptproblem ist das sich die Datenbank in einer Art schleife 
festhängt Vermute irgendwie so etwas wie ein Überlaufs fehle. Alles 
weitere in der angefügten PDF. Habe nicht so viel Ahnung von SQL bin 
eher noch ein Anfänger sitze jedenfalls schon seit gestern an dem 
Problem ohne Erfolg. Bei dem Projekt handelt es sich übrigens um so eine 
art Lagersystem. LG
Angehängte Dateien:
OP #6638536
Das Problem ist ich immer wenn ich versuche den Befehl(PDF Seite 3) aus 
zu führen es lange lädt ich nach einiger zeit eine Fehler Nachricht 
bekomme aber der Server den Befehl nicht abbricht sondern 24/7 weiter 
Lädt die CPU auslastet und man ihn Neustarten muss damit er aufhört den 
Befehl auszuführen.
Jetzt stellt sich die frage wo in dem Befehl ist der Fehler? Ich suche 
ihn seit gestern.
#6638537
Sorry, meine Glaskugel habe ich gerade der Bundeskanzlerin ausgeliehen 
zwecks Vorhersage der Corona-Entwicklung.

Sag mal ernsthaft, wie wir anhand Deines fotografierten Zettels Dein 
Problem erraten sollen??? Du gibst weder den Programm-Code preis noch 
die konkreten SQL-Abfragen.
Gast #6638549
Wo bleibt es hängen? Nach einem Insert in eine Tabelle? Du kannst alle 
Abhängigkeiten (Foreign keys) zuerst löschen und so das Programm testen. 
Danach einen nach dem anderen wieder erstellen und laufend testen.
Gast #6638551
Nachvollziehen ist kaum moeglich.
Jonas braucht so etwas wie Breakpoints oder Fensterausgaben, die in den 
Code manuell ergaenzt werden koennen, um die Stelle des Fehlers 
einzukreisen.
Gast #6638568
Ozvald K. schrieb:
> Wo bleibt es hängen? Nach einem Insert in eine Tabelle?

ok, vergiss die Frage. Habe Dein Posting von 10:09 übersehen.
Du kannst die Abfrage zerlegen. Joinst du zuerst 2 Tabellen, dann immer 
1 dazu, und kontrollierst laufend ob die Abfrage Daten zurück liefert.
Gast #6638603
Moin, -

Jonas N. schrieb:
> 1. Bin ich kein Schüler 2. Musste ich noch nie mit SQL arbeiten mein
> ganzes wissen weiß ich durch 2 Tägiges lernen

Du hast nie gelernt ein Problem zu analysieren und dann zu loesen. 
Versuche doch mal Dich in die Situation Deiner Zuschauer (vulgo: Leser) 
zu versetzen: Mit Deinem Gestammel kann und will Dir keiner helfen. Die 
Kirsche war natuerlich das Bildchen.

Ich habe ja davon keine Ahnung davon aber vielleicht import mit 
aktivierten Warnungen.

Gruesse

Th.
#6638607
Thomas W. schrieb:
> Du hast nie gelernt ein Problem zu analysieren

...genau, und das ist unabhängig ob HW, SW, bekannt oder unbekannt. Und 
die "Art" der Fragestellung ist auch chaotisch - wenn du so zu deinen 
Kollegen gehst, werden die sich auch schwer tun.

1) problem zerlegen
2) unit tests
3) gg bekannte Umgebung testen
4 ) ...usw usf

Klaus.
Gast #6638742
Moin, -

wenn ich Dein *.sql-File mal mariadb zur bearbeitung gibt:
1
Server version: 10.3.27-MariaDB-0+deb10u1-log Debian 10
2

3
MariaDB [(none)]> \W
4
Show warnings enabled.
5
MariaDB [(none)]> source smartcontrol.sql
6
...
7
Note (Code 1831): Duplicate index `FK_user_2`. This is deprecated and will be disallowed in a future release
Das ist nur eine Warnung.
1
ERROR 1452 (23000) at line 582 in file: 'smartcontrol.sql': Cannot add or update a child row: a foreign key constraint fails (`smartcontrol`.`#sql-13d_28`, CONSTRAINT `harddisks_ibfk_3` FOREIGN KEY (`FK_case`) REFERENCES `cases` (`PK_case`) ON UPDATE CASCADE)
Jetzt habe ich Dir den Fehler gezeigt. Jetzt bist Du dran.

Gruesse

Th.
#6639346
Jonas N. schrieb:
> Das Problem ist ich immer wenn ich versuche den Befehl(PDF Seite 3) aus
> zu führen es lange lädt ich nach einiger zeit eine Fehler Nachricht

Ja, und welche Fehlernachricht? Solche Fehlernachrichten sind zum Lesen 
da, um dann überhaupt erstmal zu verstehen, in welche Richtung es geht.

Und übrigens schreibt doch Dein PDF, daß es mit einem Fehler abbrechen 
wird.

> Jetzt stellt sich die frage wo in dem Befehl ist der Fehler? Ich suche
> ihn seit gestern.

Vermutlich nirgends, wenn es keinen Syntax-Fehler gibt. Dein von Dir 
genutztes Datenbankprodukt ist offensichtlich nicht dafür gedacht, etwas 
mehr als eine handvoll Joins in einem SQL zu verwursten.

Wenn Deine DB trotz Fehlers bzw Abbruch des SQL dann nicht zur Ruhe 
kommt, dann ist wohl möglicherweise ein Bug in der DB.
Gast #6640322
Jonas N. schrieb:
> Bin ich kein Schüler 2. Musste ich noch nie mit SQL arbeiten mein ganzes
> wissen weiß ich durch 2 Tägiges lernen

Du hast Dich verrannt und muß nochmal von Vorne anfangen. Du verwendest 
die falsche herangehensweise. Wahrscheinlich aus der C-Perspektive.

P.S.:
Glaub mir, mit einem Neuanfang sparst Du viel Zeit und nicht 
endenwollenden Ärger.
Gast #6688037
Wenn Du Performance-Probleme beseitigen will, schmeiß als erstes mal 
dieses unsinnige LIKE in der WHERE-Bedingung raus.
Die Seriennummer wird doch wohl eindeutig in der GUI ausgewählt.

Und dann die Daten.
In einer Seriennummer, einer Firmwareversion oder einem Artikelnamen hat 
ein '\r' ganz sicher nix zu suchen. Wenn Du LIKE verwendest, weil das \r 
Probleme bereitet, schreib Dir erstmal ein Skript was Deine Daten glatt 
zieht.

Das sollte Dich schonmal ein großes Stück weiter bringen.

Wenn's nicht reicht - Index auf die Suchspalten.

Aber: Dein Select passt doch auch überhaupt nicht zu der Anforderung, 
die Du da beschreibst... Wenn Du nur die Festplattenattribute mit ihren 
Werten selektieren willst, warum selektierst Du den ganzen anderen Kram 
denn mit? Das sind doch jede Menge unnötige JOINs.

Also - erstmal aufräumen bitte.
#6695687
Jonas N. schrieb:
> 1. Bin ich kein Schüler 2. Musste ich noch nie mit SQL arbeiten mein
> ganzes wissen weiß ich durch 2 Tägiges lernen

Ähm sorry, du hast keinerlei Kenntnisse in SQL
und irgendwer beauftragt dich, ein kompliziertes
SELECT-Statement zu optimieren? Ich arbeite
seit vielen Jahren mit SQL-Datenbanken und das
ist alles andere als trivial.

Mögliche Fehlerquellen:
-falsche JOINs
-fehlende Indices
Für beide Fälle muss man sich mit den Daten in
der Datenbank sehr gut auskennen und step by
step den Fehler suchen (wurde oben schon erwähnt).

Hier im Forum wird dir niemand diese Arbeit abnehmen
(zumal ja auch die Daten fehlen, um zu testen).

merciless

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 5 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.