Sie sagten, Sie wollen das nicht, aber:Verwenden Sie eine temporäre Tabelle. Das ist die richtige Lösung hier.
Das Analysieren von Abfragen ist in Oracle teuer, und das erhalten Sie, wenn Sie Tausende von Bezeichnern in einen riesigen SQL-Blob stecken. Außerdem gibt es schlecht definierte Grenzen auf Abfragelänge, die Sie treffen werden. Auf der anderen Seite einen Anti-JOIN gegen einen Tisch ausführen ... Darin ist Oracle gut. Massenladen von Daten in eine Tabelle, Oracle ist auch darin gut. Verwenden Sie eine temporäre Tabelle.
Begrenzung von IN
zu tausend Einträgen ist eine Plausibilitätsprüfung. Die Tatsache, dass du es triffst, bedeutet, dass du versuchst, etwas Verrücktes zu tun.