Oracle
 sql >> Base de données >  >> RDS >> Oracle

Oracle optimise OR + IN en OR + EXISTS, ce qui est très lent

Vous pouvez transformer votre sous-requête en jointure :

SELECT * 
FROM application_log log
    LEFT JOIN transaction transaction ON log.tag_value=transaction.id AND transaction.sale_id = 'xxx'
WHERE log.tag_value = 'xxx' OR transaction.id IS NOT NULL
ORDER BY log.log_date ASC;