Thought I would share some experience we have gained recently.

We have an application consisting of a C++ Builder front end and Firebird 2.5 
as the backend.  Running on Windows.  The database includes a ton of stored 
procedures with some fairly intricate calculations.

A typical installation might have 45,000 records in the main table, with 
another 180 tables that can have a few records to a couple of hundred thousand 
of records in each of them.

We had one main calculation routine that goes through the 45,000 records (one 
by one) and runs a bunch of stored procedures that populate once particular 
table in the database.  This process was taking approx. 30 minutes for one 
client.

We had an idea to change the calculation to divide the 45,000 records into 
smaller chunks and processing them at the same time in different threads.  We 
are using 10 threads for this operation.  This cut the processing time in half 
from 30 minutes to 15 minutes.

Also, we had always run Firebird as Superserver.  We decide to install Firebird 
as Superclassic in order to take advantage of the multiple processors that most 
of our clients have on their servers.  The particular client above has 4 
processors on his server.

After changing the Firebird installation to Superclassic, the processing time 
went down to approx. 5 minutes.

Needless to say, we are very happy with the results of this.  Still doing some 
testing before getting this out to our client base.

Todd Brasseur, A.M.A.A.
Compass Municipal Services Inc.
http://www.camalot.ca

 

Reply via email to