Subject | IBOQuery performance issue with Key select |
---|---|
Author | Aurimas Černius |
Post date | 2008-11-25T11:57:02Z |
Hello,
I've a problem, that greatly reduces performance of select using
IBOQuery. The problem is with wome internal stuff of IBOQuery
implementation.
When I pass a select statement to query, it apears (using IB_Monitor),
that it first selects key fields, specified in KeyLinks property or
RDB$DB_KEY, if none are specified. Only then it selects real data.
What I see is that all this extra stuff is much slower, than the select
itself.
Results of my tests:
When KeyLinks is empty: 6+ sec.
When KeyLinks are set: 4.5 sec.
If i use a Query component from UIB components, the same select
statement is executed in about 0.75 sec., so its a huge difference
compared to IBO. Unfortunately, I have hundreds of lines of written and
tested code, so switching to other components is painful.
Is there any way to change the behaviour of IBOQuery, so that it would
just execute the statement and not do all those "smart" things? Or any
other suggestions?
--
Aurimas
I've a problem, that greatly reduces performance of select using
IBOQuery. The problem is with wome internal stuff of IBOQuery
implementation.
When I pass a select statement to query, it apears (using IB_Monitor),
that it first selects key fields, specified in KeyLinks property or
RDB$DB_KEY, if none are specified. Only then it selects real data.
What I see is that all this extra stuff is much slower, than the select
itself.
Results of my tests:
When KeyLinks is empty: 6+ sec.
When KeyLinks are set: 4.5 sec.
If i use a Query component from UIB components, the same select
statement is executed in about 0.75 sec., so its a huge difference
compared to IBO. Unfortunately, I have hundreds of lines of written and
tested code, so switching to other components is painful.
Is there any way to change the behaviour of IBOQuery, so that it would
just execute the statement and not do all those "smart" things? Or any
other suggestions?
--
Aurimas