0

同じ内部クエリが複数回実行されている場合にパフォーマンスを向上させるために、SQLの下でカスタマイズする方法はありますか?

DELETE FROM interactionrel 
WHERE  ( from_interact_id IN(SELECT interaction_id 
                             FROM   interaction 
                             WHERE  instance_pk = ?) ) 
        OR ( to_interact_id IN(SELECT interaction_id 
                               FROM   interaction 
                               WHERE  instance_pk = ?) ) 
4

2 に答える 2

2

これを試すことができます-オプティマイザーに対してこれを実行する必要がありますが:

DELETE FROM interactionrel a
WHERE EXISTS (SELECT * 
              FROM interaction b
              WHERE b.instance_pl = ?
                    AND (b.interaction_id = a.from_interact_id
                         OR b.interaction_id = a.to_interact_id))
于 2013-03-15T21:14:51.110 に答える
1
DELETE il 
FROM   interactionrel il, 
       interaction 
WHERE  ( interaction.interaction_id = il.from_interact_id 
          OR interaction.interaction_id = il.to_interact_id ) 
       AND interaction.instance_pk = ? 
于 2013-03-15T11:18:33.390 に答える