Oracle
 sql >> Datenbank >  >> RDS >> Oracle

wie man mehr als 1000 Werte mit der NOT IN-Klausel hinzufügt

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.