Subject Firebird 3: NOT EXIST vs NOT IN
Author

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?