Subject Optimize Firebird in multi-processor computers
Author kokok_kokok
In my application, usually I need to send more than 100 SQL consults to create a complex report. Each consult can take from 2 to 15 seconds, so the total time in considerable.

I want to optimize this report, I cannot use indexs since the user can enter filters. I am thinking to use the remaining cores of the processor. The computer has 4 processors, that in hyper-threading they are 8 processors. Usually few users are connected to database, usually 1 or 2, sometimes 5 or 7 but it is not common.


My question is: which is the best way to implement it:

1) Create a pool of 8 database connections and create 8 threads to execute the SQLs?


2)Use an unique connection and create 8 threads that send SQL statements?

3) Is there an async way to send SQL statements to Firebird? I use IBO

4) Maybe other ways...?


Thank you