Subject | SV: [IBO] Horizontal dataset refinement ? |
---|---|
Author | Jacob Havkrog |
Post date | 2013-03-18T20:38:01Z |
Hi again.
I added the descending index, but it didn't make any difference in performance.
Are there any other settings I need?
Cheers
Jacob
Fra: IBObjects@yahoogroups.com [mailto:IBObjects@yahoogroups.com] På vegne af IBO Support List
Sendt: 18. marts 2013 17:49
Til: IBObjects@yahoogroups.com
Emne: RE: [IBO] Horizontal dataset refinement ?
You need to have both an ascending and a descending index for the primary
key column. The primary key covers the ascending so you just need to add a
descending index.
Jason
www.ibobjects.com<http://www.ibobjects.com>
-----Original Message-----
From: IBObjects@yahoogroups.com<mailto:IBObjects%40yahoogroups.com> [mailto:IBObjects@yahoogroups.com<mailto:IBObjects%40yahoogroups.com>] On Behalf
Of Jacob Havkrog
Sent: Monday, March 18, 2013 9:58 AM
To: IBObjects@yahoogroups.com<mailto:IBObjects%40yahoogroups.com>
Subject: [IBO] Horizontal dataset refinement ?
Hi - how do I set up horizontal dataset refinement for a TIBOTable?
I understand from what you wrote earlier (below) that TIBOTable is able to
apply it more or less automatically?
What happens is that I read data from a table with a primary index into a
TwwDBGrid sorted by the primary index.
You write, that I need indexes for HDR. Is the primary index enough?
Next I do a MyTable.Last.
That's pretty slow. Is there a way open the table and scroll to a specific
record in one operation, instead of first opening, then scrolling?
Thanks
Jacob
Fra: IBObjects@yahoogroups.com<mailto:IBObjects%40yahoogroups.com> [mailto:IBObjects@yahoogroups.com<mailto:IBObjects%40yahoogroups.com>] På vegne
af Support List
Sendt: 16. maj 2011 02:37
Til: IBObjects@yahoogroups.com<mailto:IBObjects%40yahoogroups.com>
Emne: RE: [IBO] how to use TIBOTable?
complete rewrite in version 4.9.14. It was actually an agenda item for IBO
5.x that I decided to go ahead and backport since I had done everything else
and I had some issues I needed to fix in 4.9 anyway.
There were previously some gross inefficiencies in the way things were
handled. I only used two cursors that had to be re-prepared when you went
from the eof/bof portions to the middle of the dataset. Either that or the
input parameters were fixed for both zones and I had to use potentially
faulty min and max values to emulate getting the eof and bof segments of the
dataset. This had complications for collations, floating points, datetime,
etc. that were awkward and potentially problematic for some people's
applications.
Now, there are 4 internal cursors instead of two. All of the awkwardness of
having to come up with min and max parameter values and re-preparing cursors
is done away. It is now very clean and failsafe in how the dataset is
handled (nulls are still an issue) and it is efficient in that once the
query is prepared you will not have to re-prepare it just because you are
navigating through different zones of your dataset.
Regards,
Jason LeRoy Wharton
www.ibobjects.com<http://www.ibobjects.com>
[Non-text portions of this message have been removed]
------------------------------------
__________________________________________________________
IB Objects - direct, complete, custom connectivity to Firebird or InterBase
without the need for BDE, ODBC or any other layer.
__________________________________________________________
http://www.ibobjects.com - your IBO community resource for Tech Info papers,
keyword-searchable FAQ, community code contributions and more !
Yahoo! Groups Links
[Non-text portions of this message have been removed]
I added the descending index, but it didn't make any difference in performance.
Are there any other settings I need?
Cheers
Jacob
Fra: IBObjects@yahoogroups.com [mailto:IBObjects@yahoogroups.com] På vegne af IBO Support List
Sendt: 18. marts 2013 17:49
Til: IBObjects@yahoogroups.com
Emne: RE: [IBO] Horizontal dataset refinement ?
You need to have both an ascending and a descending index for the primary
key column. The primary key covers the ascending so you just need to add a
descending index.
Jason
www.ibobjects.com<http://www.ibobjects.com>
-----Original Message-----
From: IBObjects@yahoogroups.com<mailto:IBObjects%40yahoogroups.com> [mailto:IBObjects@yahoogroups.com<mailto:IBObjects%40yahoogroups.com>] On Behalf
Of Jacob Havkrog
Sent: Monday, March 18, 2013 9:58 AM
To: IBObjects@yahoogroups.com<mailto:IBObjects%40yahoogroups.com>
Subject: [IBO] Horizontal dataset refinement ?
Hi - how do I set up horizontal dataset refinement for a TIBOTable?
I understand from what you wrote earlier (below) that TIBOTable is able to
apply it more or less automatically?
What happens is that I read data from a table with a primary index into a
TwwDBGrid sorted by the primary index.
You write, that I need indexes for HDR. Is the primary index enough?
Next I do a MyTable.Last.
That's pretty slow. Is there a way open the table and scroll to a specific
record in one operation, instead of first opening, then scrolling?
Thanks
Jacob
Fra: IBObjects@yahoogroups.com<mailto:IBObjects%40yahoogroups.com> [mailto:IBObjects@yahoogroups.com<mailto:IBObjects%40yahoogroups.com>] På vegne
af Support List
Sendt: 16. maj 2011 02:37
Til: IBObjects@yahoogroups.com<mailto:IBObjects%40yahoogroups.com>
Emne: RE: [IBO] how to use TIBOTable?
> You don't need to be in too big of a hurry to get rid of your TIBOTableI would also like to add, horizontal dataset refinement received almost a
> components because TIBOTable automatically makes use of horizontal dataset
> refinement if you have supporting indexes in the database.
complete rewrite in version 4.9.14. It was actually an agenda item for IBO
5.x that I decided to go ahead and backport since I had done everything else
and I had some issues I needed to fix in 4.9 anyway.
There were previously some gross inefficiencies in the way things were
handled. I only used two cursors that had to be re-prepared when you went
from the eof/bof portions to the middle of the dataset. Either that or the
input parameters were fixed for both zones and I had to use potentially
faulty min and max values to emulate getting the eof and bof segments of the
dataset. This had complications for collations, floating points, datetime,
etc. that were awkward and potentially problematic for some people's
applications.
Now, there are 4 internal cursors instead of two. All of the awkwardness of
having to come up with min and max parameter values and re-preparing cursors
is done away. It is now very clean and failsafe in how the dataset is
handled (nulls are still an issue) and it is efficient in that once the
query is prepared you will not have to re-prepare it just because you are
navigating through different zones of your dataset.
Regards,
Jason LeRoy Wharton
www.ibobjects.com<http://www.ibobjects.com>
[Non-text portions of this message have been removed]
------------------------------------
__________________________________________________________
IB Objects - direct, complete, custom connectivity to Firebird or InterBase
without the need for BDE, ODBC or any other layer.
__________________________________________________________
http://www.ibobjects.com - your IBO community resource for Tech Info papers,
keyword-searchable FAQ, community code contributions and more !
Yahoo! Groups Links
[Non-text portions of this message have been removed]