Hallo, benötige dringend Hilfe

OP #6638491
Lesenswert?

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
Lesenswert?

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.
Gast #6638549
Lesenswert?

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 #6638568
Lesenswert?

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
Lesenswert?

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.
Gast #6638742
Lesenswert?

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
Lesenswert?

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
Lesenswert?

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
Lesenswert?

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
Lesenswert?

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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren