IN vs OR von Oracle, welche schneller?

Bin ich eine Anwendung entwickeln, welche Prozesse viele Daten in der Oracle-Datenbank.

In einigen Fällen habe ich zu viele Sache auf eine bestimmte Liste von Bedingungen, und ich benutze SELECT ...FROM.. WHERE... IN..., aber die IN Ausdruck akzeptiert nur eine Liste, deren Größe maximal 1.000 Artikel.

Also ich benutze OR Ausdruck anstelle, aber wie ich beobachten kann-vielleicht ist diese Abfrage (mit OR) ist langsamer als IN (mit der gleichen Liste, Bedingung). Ist es richtig? Und wenn ja, wie die Verbesserung der Geschwindigkeit von Abfragen?

Kommentar zu dem Problem - Öffnen
Ist die Liste statischen oder aus einer Abfrage? Kommentarautor: Phil
Nein, die Liste mit Wert-Abfrage abgerufen aus externen Quellen. Gibt es eine Möglichkeit, dieses Problem zu lösen, da meine Liste ist zu groß, enthalten über 100000 Artikel Kommentarautor: Đinh Hồng Châu
So, du bist die Schaffung eines massiven query-string, wie IN (...9997, 9998, 9999, 1000,1001 ...) ? Das allein wird eine Menge Kosten, zu übermitteln und zu analysieren. Achten Sie nicht auf die sql-injection-Möglichkeiten. Kommentarautor: O. Jones

InformationsquelleAutor der Frage | 2011-06-29

Schreibe einen Kommentar