Forum: Datenbanken
Delphi
by jobo,
4. Sep 2020
Das ist glaub ich nicht ganz richtig. Ein Constraint existiert ganz allgemein erstmal ohne Index, nur seine Prüfung ist mit Index oft viel schneller. Das kommt darauf an, ob
1. überhaupt ein xy Key Constraint (primär oder fk) genutzt wird oder ein bloßer Value Constraint (im gleichen Datensatz)
2. das RDBMS die Handhabung von Key Constraints und Indizierung sauber trennt
Gerade 2. ist leider...
Forum: Datenbanken
Delphi
by jobo,
4. Sep 2020
Ja, eine Analyse ist möglich und sicher nicht unsinnig.
Über den Punkt "kostenlos" war der TE allerdings schon hinaus, er hat explizit nach bezahlter Hilfe gefragt. Ich hab leider keine Zeit für sowas.
Forum: Datenbanken
Delphi
by jobo,
3. Sep 2020
Es ist ja bekannt, dass das Verhalten plötzlich gekippt ist. Insofern würde ich Fragen nach Indizes usw. nicht im Vordergrund sehen.
Umgekehrt ist das Aufräumen der Trigger und die Umstellung auf eine Prozedur sicher ein recht kleiner Aufwand, denn eigentlich ist alles da, was benötigt wird.
Eine Analyse wie von einigen angesprochen, wäre sicher auch nicht verkehrt, aber es gilt ähnlich wie...
Forum: Datenbanken
Delphi
by jobo,
1. Sep 2020
So nützt die Proc nichts.
Du musst den gesamten Triggercode für das Insert dort aus den Triggern ausbauen (ggf ganze Trigger weglassen) und in die Proc packen.
Die Schleife gehört nicht in die Proc rein.
Die Proc soll das Insert selbst ausführen und alle nachgelagerten Updates und Summenbildung.
Triggercode für update, delete muss erhalten bleiben, solange das nicht ähnlich umgebaut wird....
Forum: Datenbanken
Delphi
by jobo,
31. Aug 2020
Wie hast Du denn die Procudure aufgebaut?
Die Procedure hat den Sinn, die Trigger (weitgehend) zu ersetzen, also eine dedizierte Insert Proc, die alles regelt, alles bis auf meinetwegen Erzeugung der ID des PK. Jedenfalls würde die Proc naturgemäß eine Aufgabe erledigen, hier insert. Deine Trigger bedienen aber mehrere Aufgaben...
Wie ist das umgesetzt?
Hab mir die Trigger noch mal...
Forum: Datenbanken
Delphi
by jobo,
1. Mai 2020
Nach Übersicht in den Triggern ist es ja doch wohl etwas komplexer.
Es werden diverse Tabellen aktualisiert, dabei werden "sogar" gruppierende Abfragen gemacht, was jetzt nicht mehr unbedingt ne Frage von Millisekunden ist.
Alle Operationen in den Triggern sind der Existenz passender Indizes unterworfen, wenn es um Mengen jenseits von 100000 geht.
Wenn am Ende noch Rechnungsdaten...
Forum: Datenbanken
Delphi
by jobo,
1. Mai 2020
Wenn es in einem externen Tool schnell geht- wie erwartet-, scheint es ein Codeproblem zu sein.
Was macht die Schleife, die Du mit gepostet hast?
Ist sichergestellt, dass keine Mehrfachinserts mit (verschluckten) Fehlern auftreten?