Je nach verwendeter Datenbank-Engine kann die Länge einer Anweisung begrenzt sein.
SQL Server hat eine sehr große Grenze:
http://msdn.microsoft.com/en-us/library/ms143432.aspx
ORACLE hat auf der anderen Seite eine sehr leicht zu erreichende Grenze.
Für große IN-Klauseln ist es also besser, eine temporäre Tabelle zu erstellen, die Werte einzufügen und einen JOIN durchzuführen. Es funktioniert auch schneller.