Klassvar 100x langsamer wie LOCAL?

SQL Express von Boris Borzic

Moderator: Moderatoren

Klassvar 100x langsamer wie LOCAL?

Beitragvon satmax » Mo, 13. Jul 2015 18:19

Folgendes ist mir völlig unerklärlich:

Hier dauert das Execute ca. 10 Sekunden
Code: Alles auswählen
::oCursor:SQLString := "SELECT top 1  " + AuftragFelder;
              " FROM Auftrag WHERE typAuftrag BETWEEN (?) AND (?) "+;
              " ORDER BY _ID DESC"
DebugPrint("Switch Filter 7", ::NavigateTypAuftragTo)
    nTreffer:= ::oCursor:Execute({0, 99})           // DAUER 10 ca. Sekunden
DebugPrint("Switch Filter 8", ::NavigateTypAuftragTo)



Hier dauert die gleiche Abfrage nicht mal 0,1 Sekunden, inkl. cFelder:= ::AuftragFelder :
Code: Alles auswählen
Local cFelder
...
cFelder:=::AuftragFelder
    ::oCursor:SQLString := "SELECT top 1  " + cFelder + ;
              " FROM Auftrag WHERE typAuftrag BETWEEN (?) AND (?) "+;
              " ORDER BY _ID DESC"
DebugPrint("Switch Filter 7", ::NavigateTypAuftragTo)
    nTreffer:= ::oCursor:Execute({0, 99})      // Dauer nicht messbar < 0,1
DebugPrint("Switch Filter 8", ::NavigateTypAuftragTo)
Gruß
Markus
Benutzeravatar
satmax
1000 working lines a day
1000 working lines a day
 
Beiträge: 775
Registriert: Do, 02. Dez 2010 19:34
Wohnort: Biberbach in Österreich

Re: Klassvar 100x langsamer wie LOCAL?

Beitragvon satmax » Mo, 13. Jul 2015 18:39

Ändere ich die Classen-Methode in eine Funktion (aus :: wird oDlg, oDlg wird der Funktion übergeben), funktioniert das ebenfalls einwandfrei:

Code: Alles auswählen
oDlg:oCursor:SQLString := "SELECT top 1  " + oDlg:AuftragFelder + ;
              " FROM Auftrag WHERE typAuftrag BETWEEN (?) AND (?) "+;
              " ORDER BY _ID DESC"
DebugPrint("Switch Filter 7-", oDlg:NavigateTypAuftragTo)
    nTreffer:= oDlg:oCursor:Execute({0, 99})
DebugPrint("Switch Filter 8-", oDlg:NavigateTypAuftragTo)
Gruß
Markus
Benutzeravatar
satmax
1000 working lines a day
1000 working lines a day
 
Beiträge: 775
Registriert: Do, 02. Dez 2010 19:34
Wohnort: Biberbach in Österreich


Zurück zu SQLExpress

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste