Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   MSSQL/ADO ... speed is everything !!! (https://www.delphipraxis.net/180786-mssql-ado-speed-everything.html)

arnof 18. Jun 2014 08:53

AW: MSSQL/ADO ... speed is everything !!!
 
Mal ein Tipp:

nicht alle Datensätze laden!!!!!

Wenn Du was sehen willst, dann suche genau diese Datensätze raus -> WHERE ist hier eine tolle Sache, wenn ein Where da ist dann schränke die Sache mal mit TOP Anweisung ein.

Ich habe in den letzten Jahren die Erfahrung gemacht, das ich mit TOP 100 am besten leben kann, d.h. der Enduser sieht schon mal was und legt mir aber nicht den Server lahm. Wenn die User zahl steigt 10,50 > 100 legen solche SQL Anweisung den Server lahm ....

Die Zeiten von BDE sind halt vorbei!

Jumpy 18. Jun 2014 09:44

AW: MSSQL/ADO ... speed is everything !!!
 
Was wird denn inhaltlich in

proc (query, ......);

gemacht?

Vielleicht ist ja da schon Optimierungspotential, indem man das (teilweise) die Datenbank machen läßt?

mkinzler 18. Jun 2014 09:50

AW: MSSQL/ADO ... speed is everything !!!
 
Zitat:

Zitat von Jumpy (Beitrag 1262709)
Was wird denn inhaltlich in

proc (query, ......);

gemacht?

Vielleicht ist ja da schon Optimierungspotential, indem man das (teilweise) die Datenbank machen läßt?

Auf diese Idee ist noch niemand gekommen :wink:

bernhard_LA 18. Jun 2014 09:58

AW: MSSQL/ADO ... speed is everything !!!
 
Zitat:

Was wird denn inhaltlich in

proc (query, ......);

gemacht?

Vielleicht ist ja da schon Optimierungspotential, indem man das (teilweise) die Datenbank machen läßt?



über eine Ganze Anzahl von
Delphi-Quellcode:
mydataset.fieldbyname('...').as....
hole ich mit den Inhalt der einzelnen Spalten am aktiven Datensatz und erzeuge dann eine Klasse mit der geht's dann in die weitere Verarbeitung.

mkinzler 18. Jun 2014 10:02

AW: MSSQL/ADO ... speed is everything !!!
 
Warum nimmst du nicht ein fertiges ORM?

Mikkey 18. Jun 2014 10:09

AW: MSSQL/ADO ... speed is everything !!!
 
Zitat:

Zitat von bernhard_LA (Beitrag 1262717)
über eine Ganze Anzahl von
Delphi-Quellcode:
mydataset.fieldbyname('...').as....

Hier liegt allein schon ein großes Verbesserungspotential:

Wenn Du einmalig den Satz von TFields über fieldbyname('...') ermittelst und über diesen in jedem Record auf die Werte zugreifst, kannst Du das Tempo vervielfachen (ich habe bei so etwas schon das 5-fache Tempo erreicht).

bernhard_LA 18. Jun 2014 10:26

AW: MSSQL/ADO ... speed is everything !!!
 
@ Mikkey

Zitat:

Wenn Du einmalig den Satz von TFields über fieldbyname('...') ermittelst und über diesen in jedem Record auf die Werte zugreifst
Pro record machen wir den Zugriff auch nur 1 x über Fieldbyname ....

mkinzler 18. Jun 2014 10:32

AW: MSSQL/ADO ... speed is everything !!!
 
Zitat:

Zitat von bernhard_LA (Beitrag 1262726)
@ Mikkey

Zitat:

Wenn Du einmalig den Satz von TFields über fieldbyname('...') ermittelst und über diesen in jedem Record auf die Werte zugreifst
Pro record machen wir den Zugriff auch nur 1 x über Fieldbyname ....

Ja aber für jeden Datensatz.

bernhard_LA 18. Jun 2014 10:36

AW: MSSQL/ADO ... speed is everything !!!
 
OK, und wie geht es denn einfacher ? Kann ich Code-Beispiel sehen ?

mkinzler 18. Jun 2014 10:39

AW: MSSQL/ADO ... speed is everything !!!
 
Zitat:

Zitat von bernhard_LA (Beitrag 1262728)
OK, und wie geht es denn einfacher ? Kann ich Code-Beispiel sehen ?

Erzeuge persistente Felder (Doppelklick auf DataSet)

Die Frage nach dem ORM hast Du gesehen?


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:29 Uhr.
Seite 2 von 3     12 3      

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