i'm using the trial version in Delphi 10 an get heavy performance problems with a really simple test:
Code: Select all
Var
I:Integer;
begin
UniConnection1.Connected:=True;
uniQuery1.SQL.Text:='INSERT INTO ott (Name, Number, Date) VALUES (:Name, :Number, :Date)';
For I:=0 to 100 do
Begin
uniQuery1.ParamByName('Name').asString:='UniDac ' + IntToStr(I);
uniQuery1.ParamByName('Number').asInteger:=I;
uniQuery1.ParamByName('Date').AsFloat:=Now;
uniQuery1.ExecSQL;
End;
If I use exact the same code using FireDac it takes about 100ms!
I doesnt change the default options of the connections.
If I use StartTransaction it get much faster, but why is it without so much slower as FireDac?
Edit:
I tried to discover the reason the last hour... No success...
Excuting on an other Windows 7 x64 pc uniDac is almost equal to FireDac even without using Transactions!
I tried to use direct=true to be sure not to use a bad sqLite3.dll on my system... No difference! I build an Release exe and deploy all needed bpls to a folder and execute it.... Same results: Inserting 100 Rows takes about 9 sec.
What can be wrong with my system? I never had bad perfomance issues with any other tasks.
Thanks for answering...
Sascha