AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Array in SQL

Ein Thema von Jasocul · begonnen am 26. Jul 2016 · letzter Beitrag vom 28. Jul 2016
Antwort Antwort
hanvas

Registriert seit: 28. Okt 2010
171 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: Array in SQL

  Alt 26. Jul 2016, 13:20
Hinweis auf Cross-Posting:
Enwickler-Ecke
Hat jemand eine Idee, wie das ganze optimiert werden kann?
Das naheliegendste, aber vermutlich bist Du darauf selbst schon gekommen -> Wenn die Zeichen und Wortersetzungen reproduzierbar bei gleichen Input immer den gleichen Output erzeugen (also nicht Abhängig von Tag, Uhrzeit etc. sind) und die 500 k Datensätze nicht jeden Tag neu erzeugt bzw geändert werden, dann müsste es doch möglich sein den Output einmal für alle Datenstätze vorrauszuberechnen und ggf. in zusätzlichen und von mir aus auch redundanten Feldern oder in einer eigenen Relation zu speichern.

Damit würde sich der Aufwand darauf reduzieren die neu hinzugekommenen oder geänderten Werte zu übersetzen. Je nach Aufwand kann man das durch einen Aufruf deiner SP machen oder direkt bei der Eingabe / Änderung mittels eines Triggers reagieren.

cu Ha-Jö
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.371 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Array in SQL

  Alt 26. Jul 2016, 14:09
Ja, das habe ich natürlich gemacht.
Aber jeder Hinweis kann helfen. Könnte ja sein, dass ich mich irgendwo verrannt habe.

Die Dauer für die erste Erstellung der Abgleich-Tabellen ist ca. eine halbe Stunde.
Die tägliche Aktualisierung liegt jetzt bei ca. 7 Minuten.
Peter
  Mit Zitat antworten Zitat
hanvas

Registriert seit: 28. Okt 2010
171 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Array in SQL

  Alt 26. Jul 2016, 14:48
Ja, das habe ich natürlich gemacht.
Aber jeder Hinweis kann helfen. Könnte ja sein, dass ich mich irgendwo verrannt habe.
Dann hätte ich noch zwei.

1. In einem anderen Post hast Du geschrieben das es sich um einen Bulk-Insert handelt. Wenn ich richtig vermute liegen die einzufügenden Daten dann in irgendeiner Form extern vor. Wenn es sich bei den einzufügenden Daten (beispielsweise) um Textdateien handelt, dann könntest Du die Umwandlung/Übersetzung doch vor dem Einfügen der Datensätze in bearbeiten. Du könntest Dir ein Programm schreiben das die externen Daten übernimmt, die gewünschten Berechnungen durchführt und dann entweder in die DB schreibt oder ebenfalls wieder extern ablegt.

Wenn keine Abhängigkeiten zwischen den einzelnen Datensätzen existieren dann könntest Du die einzufügenden Daten aufteilen und in mehreren Threads bzw. Prozessen, wenn es sein muss sogar über mehrere Rechner verteilt, verarbeiten und nach der Verarbeitung die Originaldaten wieder zusammenfügen oder häpchenweise bearbeiten.

2. Falls die Datensätze aus mehreren Datenquellen kommen und nicht alle gleichzeitig behandelt werden müssen bzw. zu unterschiedlichen Zeiten zur Verfügung stehen, könnte es Sinn machen jede Datenquelle einzeln zu behandeln und das Ergebnis temporär abzuspeichern, und später alles zusammen, also wenn alle Daten vorhanden und umgewandelt sind, zu kopieren. Die Erzeugung der Zwischenergebnisse kann man im Hintergrund laufen lassen so das am Ende nur die Einfügeoperation der bearbeiteten Daten Last erzeugt.

3. (Abwandlung und Kombination von 1 und 2) Falls es mehrere Datenlieferanten auf mehreren Rechnern gibt und meine Annahme mit den externen Dateien richtig ist, wäre es auch eine Möglichkeit das jeder Datenlieferant bzw. jede Maschine vor dem Export der Daten diese selbst aufarbeitet und die aufgearbeiteten Daten an den DB Server liefert.

cu Ha-Jö
  Mit Zitat antworten Zitat
Antwort Antwort

 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 23:44 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