Subject | My final post about IB vs Paradox speed |
---|---|
Author | SLSolutions@aol.com |
Post date | 2001-01-11T14:13:33Z |
As a new Interbase/IBO user I made a post about the fact that my
application accessed data much slower after converting to IB and
asked for any help more advanced users could offer. Although, I did
get a few attempts to help, most responses were about how silly my
test was and defending the speed of Interbase and IBO.
This is all nice but the fact is this: I have an accounting
application that was written in DOS with Btrieve as the database. It
has been running fine for about 10 years on hundreds of local
networks. Several years ago, I converted the application to
Windows/D5/Paradox. Again, it has been running fine except for the
occasional index corruption by Paradox. When I heard about Interase
and IBO I converted that application to D5/IB/IBO. The application
ran fine but every module accedded that data much slower. I assumed,
based on the many posts I had read about the speed of Interbase, that
I had done something wrong.
My initial conversion was using IBOTables. I assumed this could be
the problem since I was not taking advantage of the full power of
Interbase and IBO using this approach. So I took one module and did
the conversion to IB_Querys etc.
In this module, every time a new record is added, 3 support tables
are updated. Two of the support tables have 12 records each added
and the final support table gets 1 record added for a total of 25
records added each time a record is added to the main table.
In the Paradox version, this is instantaneous. The Save button is
clicked, the records are added and control instantaneously returns to
the user. In the Interbase version, there is a noticable lag.
I then wrote a test program to add 1000 records to an interbase table
and 1000 records to a Paradox table. The Interbase adds were
significantly slower. I then posted the basics of the test program
to see if someone could tell be what I was doing to cause this to be
so slow. I never intended that this be interpreted as a "real life"
application or an example of adding batch records. I simply thought
someone would look at it and say "you need to do this" and my problem
would be resolved.
Instead, most posts were about how "silly" the test was, how no one
would actually do this, etc. I did get a few usefull posts and made
the suggested changes (Using Insert instead of Append, using INSERT
INTO SQL using Parameters). Problem is, none of these increased the
speed. I am fully aware that my test program is impractical since no
one will probably add 1000 records to a file, however, my "real life"
program does add 25 and IS significantly slower!!
It was never my intent to imply that IB/IBO was slower than Paradox.
I assumed, and still do, that something I am doing is causing the
problem. I never intended my post to set off a frenzy of IB/IBO
defenders.
I made the initial post to the IBObjects group since the group states
it is a place for both novice and experienced Interbase/IBO users. I
have found that this group is probably not the best place for the
novice user.
application accessed data much slower after converting to IB and
asked for any help more advanced users could offer. Although, I did
get a few attempts to help, most responses were about how silly my
test was and defending the speed of Interbase and IBO.
This is all nice but the fact is this: I have an accounting
application that was written in DOS with Btrieve as the database. It
has been running fine for about 10 years on hundreds of local
networks. Several years ago, I converted the application to
Windows/D5/Paradox. Again, it has been running fine except for the
occasional index corruption by Paradox. When I heard about Interase
and IBO I converted that application to D5/IB/IBO. The application
ran fine but every module accedded that data much slower. I assumed,
based on the many posts I had read about the speed of Interbase, that
I had done something wrong.
My initial conversion was using IBOTables. I assumed this could be
the problem since I was not taking advantage of the full power of
Interbase and IBO using this approach. So I took one module and did
the conversion to IB_Querys etc.
In this module, every time a new record is added, 3 support tables
are updated. Two of the support tables have 12 records each added
and the final support table gets 1 record added for a total of 25
records added each time a record is added to the main table.
In the Paradox version, this is instantaneous. The Save button is
clicked, the records are added and control instantaneously returns to
the user. In the Interbase version, there is a noticable lag.
I then wrote a test program to add 1000 records to an interbase table
and 1000 records to a Paradox table. The Interbase adds were
significantly slower. I then posted the basics of the test program
to see if someone could tell be what I was doing to cause this to be
so slow. I never intended that this be interpreted as a "real life"
application or an example of adding batch records. I simply thought
someone would look at it and say "you need to do this" and my problem
would be resolved.
Instead, most posts were about how "silly" the test was, how no one
would actually do this, etc. I did get a few usefull posts and made
the suggested changes (Using Insert instead of Append, using INSERT
INTO SQL using Parameters). Problem is, none of these increased the
speed. I am fully aware that my test program is impractical since no
one will probably add 1000 records to a file, however, my "real life"
program does add 25 and IS significantly slower!!
It was never my intent to imply that IB/IBO was slower than Paradox.
I assumed, and still do, that something I am doing is causing the
problem. I never intended my post to set off a frenzy of IB/IBO
defenders.
I made the initial post to the IBObjects group since the group states
it is a place for both novice and experienced Interbase/IBO users. I
have found that this group is probably not the best place for the
novice user.