Řekl jste, že nechcete, ale:použijte dočasnou tabulku. Zde je správné řešení.
Analýza dotazů je v Oracle drahá a to získáte, když do obrovského bloku SQL vložíte tisíce identifikátorů. Existují také špatně definované limity na délku dotazu, kterou zasáhnete. Na druhou stranu dělat anti-JOIN proti stolu... Oracle je v tom dobrý. Hromadné načítání dat do tabulky, v tom je dobrý i Oracle. Použijte časovou tabulku.
Omezení IN
na tisíc záznamů je kontrola zdravého rozumu. Skutečnost, že to trefíte, znamená, že se snažíte udělat něco šíleného.