AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Insert into

Ein Thema von Walter Landwehr · begonnen am 1. Mai 2020 · letzter Beitrag vom 4. Sep 2020
Antwort Antwort
Delphi.Narium

Registriert seit: 27. Nov 2017
2.558 Beiträge
 
Delphi 7 Professional
 
#1

AW: Insert into

  Alt 3. Sep 2020, 10:32
Kommt wohl drauf an, quasi so 'ne Art "Entschiedenes sowohl als auch".

Der Index muss sofort aktuallisiert werden (jedenfalls bei der Vorgehensweise, wie sie hier genutzt wird), damit im Trigger eine entsprechende Abfrage den gerade eingefügten Wert auch wiederfinden kann. Hier wird er sofort für eine Summenbildung in 'ner anderen Tabelle benötigt (select sum(spalte) from tabelle where ..., wobei der gerade eingefügte Satz eine Teilmenge, der durch die Wherebedingung selektierten Sätze, ausmacht). Würde der Index nicht sofort aktuallisiert, hätte es hier im konkreten Fall jedenfalls (mit an Sicherheit grenzender Wahrscheinlichkeit) negative Auswirkungen.

Wie es sich bei 'nem Bulk-Insert verhält, weiß ich nicht, aber das liefe dann vermutlich ohne den Aufruf der Trigger, was wiederum die dort abgebildete Geschäftslogik ruinieren würde.

Und je nach Datenmenge kann ein fehlender Index schon 'ne massive Auswirkung auf die 72 Sekunden haben. Wenn ein Full Table Scan über 'ne Minute zum Summieren von Werten braucht, dann braucht er halt pro Datensatz über 'ne Minute.

Entweder ins Datenbankdesign investieren oder die Hardware massiv aufrüsten, so dass die DB komplett im Arbeitsspeicher landet, die CPU exorbitant schnell ist, Festplatten mit Zugriffszeiten, die gegen 0 tendieren, ...

Bei 'ner handelsüblichen Hardware kann man in Situationen geraten, in denen es sich eben genau so verhält, wie es hier gerade vorliegt.
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#2

AW: Insert into

  Alt 3. Sep 2020, 17:57
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 zuvor, die Zeit kann ich direkt in das Refaktoring stecken.
Und etwas Analyse gibt es ja auch, das Verhalten bei direkter Nutzung einer SQL Console. Hardware Schäden und viele andere Dinge kann man also schon mal ausschließen und es geht nicht vollkommen planlos daher.

Hardwareerneuerung ist ja auch immer ein verlockender Vorschlag und mit dem Monatslohn eines Entwicklers kann man sicher einen guten Server bekommen. Dann muss aber noch die Umstellung gemacht werden und am Ende bleibt die Frage, ob man für den Aufwand einen Faktor 72 oder mehr (grobe Annahme: vorher hat das Insert nur eine Sekunde gedauert) hinbekommt. Mein Tipp wäre eher: nein.
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von IBExpert
IBExpert

Registriert seit: 15. Mär 2005
695 Beiträge
 
FreePascal / Lazarus
 
#3

AW: Insert into

  Alt 3. Sep 2020, 18:25
Wenn es eine einigermaßen aktuelle Firebird Version ist und man einie einigermaßen aktuelle IBExpert Version haben sollte, dann sollte sich durch das Ansehen dieses Videos https://www.youtube.com/watch?v=MOuCeKTNpOk innerhalb kurzer Zeit mit der Traceapi finden lassen, was der grund ist oder mit dem Benchmark aus anderen Videos prüfen, ob der eingesetzte Rechner zB wegen treiberprobleme langsamer ist als erwartet.

Man kann aber auch alternativ hier immer wieder nach göttlicher Hilfe Fragen um die eigenen Probleme von dritten kostenlos gelöst zu bekommen

Ist halt immer eine Frage der Einschätzung, was die verschwendete eigene Arbeitszeit oder die fehlende Zufriedenheit der eigenen Kunden an externen Beratungsaufwand rechtfertigen. Muss ja jeder selber wissen, die erste Problemschilderung war ja auch erst am 1.Mai dieses Jahres .....
Holger Klemt
www.ibexpert.com - IBExpert GmbH
Oldenburger Str 233 - 26203 Wardenburg - Germany
Firebird 5 Update und Know-how Workshop – 28.8.-29.08.2025 64546 Mörfelden - Walldorf
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#4

AW: Insert into

  Alt 4. Sep 2020, 06:23
Wenn es eine einigermaßen aktuelle Firebird Version ist und man einie einigermaßen aktuelle IBExpert Version haben sollte, dann sollte sich durch das Ansehen dieses Videos https://www.youtube.com/watch?v=MOuCeKTNpOk innerhalb kurzer Zeit mit der Traceapi finden lassen, was der grund ist ..

Man kann aber auch alternativ hier immer wieder nach göttlicher Hilfe Fragen um die eigenen Probleme von dritten kostenlos gelöst zu bekommen
.....
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.
Gruß, Jo
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz