Subject | Re: [firebird-support] Re: When do I commit |
---|---|
Author | Robert martin |
Post date | 2005-06-07T04:16:03Z |
HI
Our apps use FieldByName / ParamByName exclusively, its a style
guideline here (and a good one). We have never tried testing the
performance but I do recall Jason saying there was a performance
difference and he was looking at improving / had improved the source
code (which wasn't as good as it could be). Hope I am not miss quoting him.
Anyway we decided to take the performance hit and wait. Perhaps Jason
can confirm, I think I recall reading it had been done?
Rob Martin
Software Engineer
phone +64 03 377 0495
fax +64 03 377 0496
web www.chreos.com
Wild Software Ltd
Grant Brown wrote:
Our apps use FieldByName / ParamByName exclusively, its a style
guideline here (and a good one). We have never tried testing the
performance but I do recall Jason saying there was a performance
difference and he was looking at improving / had improved the source
code (which wasn't as good as it could be). Hope I am not miss quoting him.
Anyway we decided to take the performance hit and wait. Perhaps Jason
can confirm, I think I recall reading it had been done?
Rob Martin
Software Engineer
phone +64 03 377 0495
fax +64 03 377 0496
web www.chreos.com
Wild Software Ltd
Grant Brown wrote:
>Hi Adam,
>
> >>I doubt it is noticeable. They tend to be very small lists and are
> >>kept in memory, so each search is at worst n complexity.
>
>Not so sure about this, on our core product SiteDoc we first had all
>querys as per you suggestion using the FieldByName etc and we then
>changed them as per below and the difference in performance was just
>amazing - boy did it speed things up.
>
>
>var
> T: Integer;
> FieldArray: array[0..1] of TField;
>begin
>
> try
> LoadQuery.Params[0].AsInteger := MyIDNumber;
> LoadQuery.open();
> FieldArray[0] := LoadQuery.FieldByName('XXXXaaaa');
> FieldArray[1] := LoadQuery.FieldByName('XXXXaaaa');
> while not LoadQuery.eof do
> begin
> MyItem_1.Text := FieldArray[0].asString;
> MyItem_2.Text := FieldArray[0].asString;
> LoadQuery.Next();
> end;
> finally
> LoadQuery.Close();
> end;
>
>
>