Subject | Optimize Firebird in multi-processor computers |
---|---|
Author | kokok_kokok |
Post date | 2009-07-06T10:41:23Z |
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
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