Du sagde, at du ikke ville, men:brug et midlertidigt bord. Det er den rigtige løsning her.
Forespørgselsparsing er dyrt i Oracle, og det er det, du får, når du sætter tusindvis af identifikatorer i en kæmpe klat SQL. Der er også udefinerede grænser på forespørgselslængde, som du vil ramme. At lave en anti-JOIN mod et bord, på den anden side... Oracle er gode til det. Masseindlæsning af data i en tabel, det er Oracle også god til. Brug en temp-tabel.
Begrænsning af IN
til tusinde poster er en fornuftskontrol. Det faktum, at du rammer den, betyder, at du forsøger at gøre noget sindssygt.