Re: Looking for Opinions on How to Improve INSERT Performance -
06-03-2009
, 06:05 PM
I read all the stuff above pretty fast so take the following advice
with a grain of salt. Plus brainstorming has both good and bad
ideas. So here goes . . .
1. Most performance issues are due to I/O. Reducing I/O should get
you more speed. For example "INSERT INTO table1 SELECT * FROM table2"
will do 1 read and 1 write in "informix format". But if you pull your
data into a program, you will probably have extra reads, writes plus 2
translations (from informix to ASCII and then back again). Try to
rewrite your program to do the INSERT/SELECT with the appropriate
WHERE clause to break the data up into smaller pieces.
2. Run the inserts in parallel. For example program1 only inserts
into fragment1. Then do the same, in parallel, for the other
fragments. But watch out that you don't overwhelm your CPU's!
3. Do light scans with SET ISOLATION TO DIRTY READ. It will help you
on the SELECT side but not the INSERT side.
4. In C programming I am told that you can define the data as
binary. I am told that can speed it up.
5. In our Informix 10.00.FC4 ONCONFIG we have:
BTSCANNER
num=1,priority=low,threshold=50000,rangesize=10000
6. Upgrade to 11.5 as soon as possible. IBM is bragging that it is
faster than 10. |