Non so perché improvvisamente sta funzionando più lentamente, ma ti consiglio di convertire in un join, che dovrebbe funzionare meglio:
SELECT t.*
FROM temp_company t
LEFT JOIN company c ON c.number = t.number
WHERE c.number is null
Questo è un modo abbastanza standard per affrontare un not in (...)
tramite un join e funziona perché i join esterni non match hanno valori null nelle colonne della tabella unita.