AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken MSSQL/ADO ... speed is everything !!!
Thema durchsuchen
Ansicht
Themen-Optionen

MSSQL/ADO ... speed is everything !!!

Ein Thema von bernhard_LA · begonnen am 17. Jun 2014 · letzter Beitrag vom 18. Jun 2014
Antwort Antwort
Seite 3 von 3     123   
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#21

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

  Alt 18. Jun 2014, 11:55
http://www.delphitools.info/2010/11/...s-your-friend/
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Mikkey

Registriert seit: 5. Aug 2013
265 Beiträge
 
#22

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

  Alt 18. Jun 2014, 11:56
OK, und wie geht es denn einfacher ? Kann ich Code-Beispiel sehen ?

Delphi-Quellcode:
var
  fld1, fld2: TField;
begin
  ...
  query.Open();
  fld1 := query.FieldByName('...');
  fld2 := query.FieldByName('...');
  while not query.EOF do begin
    ProcessRecord(fld1, fld2);
    query.Next();
  end;
end;
  Mit Zitat antworten Zitat
bernhard_LA

Registriert seit: 8. Jun 2009
Ort: Bayern
1.138 Beiträge
 
Delphi 11 Alexandria
 
#23

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

  Alt 18. Jun 2014, 12:03
Zitat:
Die Frage nach dem ORM hast Du gesehen?

ja, wäre dies empfehlenswert : http://instantobjects.sourceforge.net/#documentation
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#24

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

  Alt 18. Jun 2014, 12:09
Oder

http://www.tmssoftware.com/site/aurelius.asp
http://www.devart.com/entitydac/editions.html
Markus Kinzler
  Mit Zitat antworten Zitat
bernhard_LA

Registriert seit: 8. Jun 2009
Ort: Bayern
1.138 Beiträge
 
Delphi 11 Alexandria
 
#25

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

  Alt 18. Jun 2014, 12:26
die aktuelle Version vom code sieht wie folgt aus

Delphi-Quellcode:
   procedure complete_Process(...);

            mytimer := 0; /// hier beginnt die Zeitmessung

            someInit ();

            MakeSQLStr();

            query.sql.add();
            query.open;

            myTimer.result(1) // hier messe ich die Zeit bis zum laden der Daten in die Query

            query.first;
            for i := 0 to maxrecords do
                 begin
                 copy_data_to_generic_objectlist
                 query.next;
                 end;
             myTimer.result(2); // hier ist die Zeitmessung nach Ende alle DB arbeiten


            for I := 0 to generic_objectlist do
                 begin
                  data :=generic_objectlist.items[i];
                  proc ( data, .....);
                 end;
            myTimer.result(3); // hier ist die Zeitmessung wie im Graphen ganz oben gezeigt
            finalize



           
            end;

95 % der Zeit benötigt die Schleife proc(data ,,, ) , d.h. ich werde dem Ansatz von SIR RUFO folgen ....
  Mit Zitat antworten Zitat
pertzschc

Registriert seit: 29. Jul 2005
Ort: Leipzig
309 Beiträge
 
Delphi 12 Athens
 
#26

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

  Alt 18. Jun 2014, 12:45
die aktuelle Version vom code sieht wie folgt aus
95 % der Zeit benötigt die Schleife proc(data ,,, ) , d.h. ich werde dem Ansatz von SIR RUFO folgen ....
Sag mal, dass ist doch dasselbe Thema, welches Du bereits in http://www.delphipraxis.net/180711-m...ead-error.html zur Diskussion gegeben hattest.

Hier war die Zusammenfassung nach 7 Seiten Thread dann gefunden:
Zitat:
Wenn man wüßte was er wirklich treibt, könnte er auch ein paar konkrete Lösungsvorschläge bekommen.
Warum geht es also wieder ohne wirklichen Wissensdurst durch den TE weiter?
Grüße, Christoph
  Mit Zitat antworten Zitat
bernhard_LA

Registriert seit: 8. Jun 2009
Ort: Bayern
1.138 Beiträge
 
Delphi 11 Alexandria
 
#27

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

  Alt 18. Jun 2014, 12:52
Das Thema von ersten Thread ist schon (teilweise) implementiert und funktioniert auch. Wir halten unser Query Ergebnismenge bei x records , x = 10 .... 10.000;

Aktuell ging es mir um die Diskussion des optimalen x für unsere Anwendung, bzw. unsere Performance-Messreihen vor der großen Codeänderung.
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#28

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

  Alt 18. Jun 2014, 13:42
So, und überlappende Abarbeitung interessiert dich ebensowenig, wie parallele. *Kopfschüttel*
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#29

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

  Alt 18. Jun 2014, 14:32
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 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.
Genau das Erzeugen von Daten-Objekten gehört noch in den Teil der die Daten ausliest (und natürlich ohne das ständige FieldByName)
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#30

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

  Alt 18. Jun 2014, 23:49
Aktuell ging es mir um die Diskussion des optimalen x für unsere Anwendung, bzw. unsere Performance-Messreihen vor der großen Codeänderung.
Eine Diskussion hilft da eigentlich wenig, sowas muss man probieren (manche sagen "messen"). Dazu kommt: Nur ihr habt die korrekte Hardware, nur ihr könnt das messen.

Läuft übrigens hier unter #7:

Zitat:
Mistake #7: Assuming that runtime characteristics in one environment tell you what behavior will be in a different environment.
Run your benchmarks in the actual environment that the code will be running in; use machines that have the same hardware and software that will typically be used by the customers who ultimately will run the code.
Aber das nur am Rande, ich glaube die wichtigen Punkte wurden schon erwähnt
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 16:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz