Einzelnen Beitrag anzeigen

ToFaceTeKilla

Registriert seit: 17. Mai 2006
Ort: Leipzig
283 Beiträge
 
Delphi XE2 Professional
 
#6

AW: Umstellung ADO -> DBExpress

  Alt 22. Dez 2010, 13:44
kenn' ich so gar nicht (so viele Daten ? / Blobs?), wobei serverseitige Cursor mit MSSQL-Server ohnehin problematisch sind. Hast Du schon mal:
Delphi-Quellcode:
 Adodataset1.LockType := ltBatchOptimistic;
 Adodataset1.Open;
 Adodataset1.Connection := nil;
 While not .....
versucht ?
Was kennst du so gar nicht?
Ich hab das jetzt mal mit verschiedenen LockTypes probiert. Ergebnis:
ltBatchOptimistic: 503 Sekunden
ltOptimistic (default): 508 Sekunden
ltReadOnly: 506 Sekunden
ltPessimistic 509 Sekunden

Die Werte liegen unter 10 Min. weil ich in dem Bsp. alles unnötige weggelassen habe (Anzeigeaktualisierung, Application.ProcessMessage...).
Macht also auch keinen unterschied.
Beim MS SQL Server sollte man möglich mit clUseClient arbeiten. Nur bei Anbindung an Grid wäre hier clUseServer besser.
Ne mit Grids arbeiten wir nicht. Wir holen uns immer alle benötigten Daten ab und halten die im Speicher.
Wir hier evtl. mit ExecuteOptions.eoAsyncExecute gearbeitet?
Nein. War beim Aufruf einer Stored Procedure.
Sollte bei clUseClient kein Problem darstellen.
Bei clUseServer waren es dann aber (im nicht-optimierten Bsp.) nur noch 4 statt 10 Minuten. Und der Server entspricht von der Leistung her ungefähr meiner Workstation.

Edit: Zeit bei Readonly vergessen...
Edit2: ltPessimistic ergänzt
Billy Gerwitz
"Bei der Softwareentwicklung suchen wir nicht den richtigen Weg, sondern den am wenigsten falschen." - frei nach V. Hillmann

Geändert von ToFaceTeKilla (22. Dez 2010 um 13:56 Uhr)
  Mit Zitat antworten Zitat