AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Massendaten ständig aktualisieren
Thema durchsuchen
Ansicht
Themen-Optionen

Massendaten ständig aktualisieren

Ein Thema von Piro · begonnen am 4. Dez 2010 · letzter Beitrag vom 6. Dez 2010
Antwort Antwort
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#1

AW: Massendaten ständig aktualisieren

  Alt 4. Dez 2010, 22:14
Er führt ein Insert aus für das was noch nicht drin ist, das soll eh so sein.
Ob das Update schneller ist oder die Überprüfung ob ein Update nötig ist und dann gegf. ein Update durchzuführen müsste man evaluieren, ich denke der Unterschied wird marginal ausfallen.
Der Vorteil liegt bei von mir beschreibenen Möglichkeiten darin daß Du mit dem Minimum an Dattentransfer auskommst, die SQL's innerhalb des Servers, vor allem bei Massenoperationen sind ja um Welten schneller.
Ich persönlich würde die erste Variante vorziehen, hier vielleicht sogar aus der Echttabelle löschen wo die ID in der Hilfstabelle vorhanden ist und dann die komplette Hilfstabelle reinschießen.
Zitat:
Wo ist der Vorteil einer Stored Prozedure?
Das die komplette Datenmanipulation da stattfindet wo die Daten im benötigten Format vorliegen, keine Transfer übers Netz, keine hin und her Wandlung durch Treiberschichten, Delphiklassen etc.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
jobo

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

AW: Massendaten ständig aktualisieren

  Alt 6. Dez 2010, 12:35
bei solchen Datenmengen (und wahrscheinlich wird es nicht weniger) würde ich es per Linked Server CSV versuchen.

Also Datei auf den Server kopieren, verdrahten (linken) und dann reines SQL oder auch per Stored Proc falls notwendig. Schneller wirst Du es mit keinem Clientprogramm hinbekommen.

hier ist ein link mit handlichen Anweisungen:
http://forums.databasejournal.com/sh...ad.php?t=38583

Weiß aber nicht, ob das lizenztechnisch in jedem ms sql server drin ist.

Gruß, jo
  Mit Zitat antworten Zitat
Benutzerbild von Piro
Piro

Registriert seit: 14. Jul 2003
Ort: Flintbek
810 Beiträge
 
Delphi XE2 Professional
 
#3

AW: Massendaten ständig aktualisieren

  Alt 6. Dez 2010, 15:45
Danke an alle für die großartigen Antworten. Sie haben mir sehr geholfen.

Ich habe derzeit 3.500 Datensätze die ich mit INSERT und UPDATE (mit Parameterübergabe) in DB schiebe.
Das Ganze dauert 20 Sekunden und ist völlig ausreichend.

Vielen Dank nochmal. Super Forum.
Gruß, Sven
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#4

AW: Massendaten ständig aktualisieren

  Alt 6. Dez 2010, 15:52
Hallo zusammen,

eine reine Verständnisfrage. Wäre für den Abgleich und das Einfügen der Daten in die Datenbank eine Stored Procedure besser geeignet ? Bei der Variante in Beitrag #1 erzeugt doch zu viel Traffic, da immer die Anfragen und das Ergebnis zwischen Datenbankserver und der Anwendung hin und her transpüortiert werden müssen.

Soweit ich es weiß kann der MS SQL-Server doch Stored Procedure.

Edit:
Ich würde für die Update-Anweisung und für die Select-Anweisung kein QuotedStr benutzen sondern Parameter verwenden. Ist aus meiner Sicht etwas übersichtlicher.
Rolf Warnecke
App4Mission

Geändert von RWarnecke ( 6. Dez 2010 um 15:55 Uhr)
  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 14:27 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