![]() |
AW: Massendaten täglich in eine DB speichern - Was macht Sinn?
Hi,
aber der Abgleich mit Daten, die eh entsorgt werden sollte doch das Ganze massiv langsamer machen, oder? LG, Frederic |
AW: Massendaten täglich in eine DB speichern - Was macht Sinn?
Es kommt halt drauf an, ob du deine alten Daten später noch evtl. brauchst -- für andere Abteilungen/(Jahres-)Statistiken etc. Wenn du die Daten wirklich nur einmal mit deinem Programm anfasst, dann brauchst nicht mal eine DB, außer du lässt komplexe Abfragen drauf laufen. Dann wird es wohl schneller sein die kurz in eine DB zu klopfen.
Und zum Theme löschen: Warum wirfst nicht die komplette Table weg und erzeugst danach eine neue? Geht doch schneller als löschen und PK neu setzen. -- EDIT @fkerber: nun ja, es sei denn man muss komplexe Suchalgos in sein Programm einbauen, die eine DB ja schon effizient erschlägt. |
AW: Massendaten täglich in eine DB speichern - Was macht Sinn?
also ich würde folgende zwei Zeilen ausführen:
Code:
Die genaue Syntax ergibt sich aus Google. Ich habe genau das gemacht und das zieht mir eine 20MB CSV-Datei in ein paar Sekunden in eine MSSQL-DB.
select * into Tabelle_<HeutigesDatum> from MasterTabelle where 1=0
Create Index IX_<HeutigesDatum> on bla bla feld xy usw. bulk insert into Tabelle_<HeutigesDatum> from cSV_Datei Nun hast Du täglich eine eigene Tabelle mit Index und allem Drum und dran. Ob Du die alten Daten löschst oder z.B .die letzten X Tage noch aufhebst, bleibt Dir überlassen und hat nix mit o.g. Import zu tun. |
AW: Massendaten täglich in eine DB speichern - Was macht Sinn?
Es werden sehr komplexe Abfragen auf die Daten ausgeführt. Deshalb die DB.
Die Idee mit dem Löschen der Tabelle und einfach wieder neu anlegen, klingt interessant aber mir ist noch nicht ganz klar wie. Ich arbeite mit SQLConnection und TDataSet. Muss ich mir ein SQL Script hinlegen, welches mir die Tabelle anlegt oder was macht Sinn? Habe da gerade irgendwie eine Denkblockade. |
AW: Massendaten täglich in eine DB speichern - Was macht Sinn?
Naja, du kannst doch via TQuery ein DROP TABLE und CREATE TABLE ausführen. Ich arbeite immer mit AnyDAC, daher kann ich dir nicht sagen, mit welcher Klasse/Komponente du SQL Queries auf der DB ausführen kannst.
Wobei die Idee von alzaimar nicht zu unterschätzen ist. Je weniger dein Programm machen muss, desto besser. Außer du brauchst spezielle Trigger oder dergleichen. |
AW: Massendaten täglich in eine DB speichern - Was macht Sinn?
@alzaimar: könntest du mir eventuell einen beispielhafteren Code geben und kurz erklären was der macht. Der Ansatz ist echt gut.
|
AW: Massendaten täglich in eine DB speichern - Was macht Sinn?
Wenn ich löschen im Zusammenhang mit Daten höre wird mir ganz schlecht.
Sammle doch einfach z.B:. mit Importdatum und wenn sich herausstellt die Datenbank unhandlich wird, exportiere alles was z.B. älter als 100 Tage ist in eine Archivdatenbank. |
AW: Massendaten täglich in eine DB speichern - Was macht Sinn?
Daten, die nicht mehr gebraucht werden, werden gelöscht -- ob da jemandem schlecht wird bei oder nicht :mrgreen: Es muss aber von vorn herein geklärt werden, dass die Daten wirklich zu 100% nicht mehr gebraucht werdenm, das ist schon klar :)
|
AW: Massendaten täglich in eine DB speichern - Was macht Sinn?
Zitat:
|
AW: Massendaten täglich in eine DB speichern - Was macht Sinn?
phhhh :P
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:09 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 by Thomas Breitkreuz