Subject | Firebird 3: NOT EXIST vs NOT IN |
---|---|
Author | |
Post date | 2017-08-29T16:17:21Z |
I have stored procedure developed under FB 2.1 and it's very, very slow (more than 10 minutes) under FB 3 because it has NOT IN condition in WHERE clause:
not SHIPPING.ORDERNO in (select orderno from invoices)
I wrote equivalent NOT EXIST statement with the same result:
NOT EXISTS(SELECT 1 FROM INVOICES where INVOICES.ORDERNO = SHIPPING.ORDERNO)
but it's runs for 6min 45sec to get result!
I tried join tables - it runs for couple seconds
NOT EXISTS(SELECT 1 FROM INVOICES INNER JOIN SHIPPING ON INVOICES.ORDERNO = SHIPPING.ORDERNO)
but result is wrong
What can I do? When FB 3 is going to reach the same performance as FB 2.1 with NOT EXIST clause?