Hi Serge,
No, no, on each 4 partition I am doing the same stuff. A script switches to
each node, and launches in background a CLI script that opens a positionned
cursor with SELECT 1 FROM TABLE WHERE NODENUM(col) = CURRENT NODE AND
COLNAME=<VALUE>, and does the DELETE WHERE CURRENT OF CURSOR.
When I first tried from a single cli program launched without the
NODENUM(col) ... clause , I remember that I was effectively doing ping-pong
as you say between the coordinator and other partitions.
I monitored that there is no exchange between nodes, that a TABLE lock is
taken on each partition except the catalog partition that does not support
the TABLE and that each process is effectively on a different partition,
status "Executing".
I had a look to the CLI reference guide, to try delete from a positionned
cursor an array ... I have no clue why it takes 1 minute with a single
DELETE statement and about 10 minutes with my CLI programs in // (I commit
every 50000 lines).
Regards,
JM
"Serge Rielau" <sr*****@ca.eye-be-em.com> a écrit dans le message de
news:cb**********@hanover.torolab.ibm.com...
Jean-Marc,
I'm not really surprised. Your app is a bottleneck and you play
ping-pong between the the client, the coordinator and the database
partition. So you'r looking at, ~ 7M * 4 communications.
By contrast the searched delete has a total of 2 (client coordinator) +
2 * #partitions presuming a simple searched DELETE.
Cheers
Serge
--
Serge Rielau
DB2 SQL Compiler Development
IBM Toronto Lab