Einzelnen Beitrag anzeigen

Pro_RJ

Registriert seit: 16. Apr 2008
146 Beiträge
 
#8

Re: Hilfe bei Optimierung in SQL

  Alt 9. Okt 2008, 22:57
ich habs mal umgebaut:
if CheckBox2.Checked
dann FeldListe einmal aufbauen
else Immer neu Bilden


Delphi-Quellcode:
    
if CheckBox2.Checked then
    Begin
      for Fld := 0 to q.Fields.Count -1 do
      Begin
        if Fld > 0 then FeldListe := FeldListe + ',';
        FeldListe := FeldListe + q.Fields[Fld].FieldName;
      end;
    end;


    for DS := 1 to 30000 do
    Begin
      if not CheckBox2.Checked then FeldListe := '';
      WertListe := '';
      INC(GesGearb);
      for Fld := 0 to q.Fields.Count -1 do
      Begin
        FeldName := q.Fields[Fld].FieldName;
        if not CheckBox2.Checked then if FeldListe <> 'then FeldListe := FeldListe + ',';
        if WertListe <> 'then WertListe := WertListe + ',';
        if ((FeldName = 'ZAEHLER') or (FeldName = 'LO'))
        then Wert := IntToStr(DS)
        else
        Begin
          case q.Fields[Fld].DataType of
          ftSmallint, ftInteger : Wert := IntToStr(123);
          ftFloat,FTBCD : Wert := '1.23';
          ftDate : Wert := #39 + DateToStr(NOW) + #39;
          ftTime : Wert := #39 + TimeToStr(NOW) + #39;
          ftDateTime : Wert := #39 + DateTimeToStr(NOW) + #39;
          else Wert := #39 + 'asd' + #39;
          end;
        end;
        if not CheckBox2.Checked then FeldListe := FeldListe + FeldName;
        WertListe := WertListe + Wert;
      end;
Ergebniss:
Feldliste immer aufbauen : 00:30:953
FeldListe einmal aufbauen : 00:30:325
Durchschnitt bei ca 10 Durchläufen
  Mit Zitat antworten Zitat