Subject RE: [firebird-support] Should updates be this slow?
Author Alan McDonald
> Hi Folks:
>
> I'm running Superserver 2.0.1 in Windows XP Media on a
> low end AMD X2, a 3800+, and a 100GB IDE drive. My app is
> running on the system.
>
> This isn't the system I'd choose for the best performance,
> but it's probably representative of what my customers will
> have.
>
> The contact table, describing persons and organizations,
> is a fat thing, but a SELECT of the database key and a
> varchar large enough to hold a person's first and last name
> will plow through at a little over 7000 records a second, with
> overhead for my C++ code to allocate a class instance and put
> its address in a STL vector.
>
> The vector is sorted and an index is calculated for each
> record. The UPDATE sets a new value for a BIGINT index
> in the contact table.
>
> This operation is grinding along at about 330 records per
> second.
>
> I've altered the the index for these records, to disable
> the index during the updates, and enable after the updates.
>
> Does this sound like the performance I should expect, or
> am I doing something wrong?
>
> I'm ignorant of the ways of SQL and Firebird, so I'm
> interested in suggestions.
>
> Thanks
> Larry

What, precisely, are you trying to do here?
you're retrieving all records in a table, calculating a field on the client
side and updating that field value as you move through the records (or after
retrieving all records)?
You are somehow using this calculated value as an index of some kind
relevant to your application and/or business model? (STL vector? what's
that?)
Sorry, I'm lost as to what this is all trying to achieve but it sounds
clumsy whatever it is.
Alan