Hi, is there a plan to implement this (join on UPDATE) or to improve the
performance of the "IN" operator ?

I have an UPDATE query with two "IN" operators.
UPDATE PUBLIC.AAA_STR_HIE_ACCOUNT
          SET MBR_TYPE = 'B'
          WHERE ID IN (
               SELECT ID
               ...'
               AND ID NOT IN (
                    SELECT PARENT
                    ...
               )
          );

I have 1700 rows and I stopped the query after 5 minutes

If the IN in the subquery with a join, I  get  a runtime of about 10 second.

UPDATE PUBLIC.AAA_STR_HIE_ACCOUNT AS t3
SET MBR_TYPE = 'B'
WHERE ID IN (SELECT DISTINCT t1.ID
FROM   PUBLIC.AAA_STR_HIE_ACCOUNT t1
LEFT   JOIN PUBLIC.AAA_STR_HIE_ACCOUNT t2 ON t2.PARENT = t1.ID
WHERE  t2.PARENT IS NULL
) 


The runtime of the subquery went down from 3.7s to 17ms. How can I get rid
of the first "IN" to speed up my whole query ?






--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/

Reply via email to