Możesz również sprawić, by klauzula IN pobierała wyniki zapytania, takie jak:
SELECT * FROM table1
WHERE table1.id IN
(
SELECT id from table2
)
W ten sposób nie musisz generować ciągu tekstowego ze wszystkimi możliwymi wartościami.
W mysql powinieneś być w stanie umieścić tyle wartości w klauzuli IN, ile chcesz, ograniczonych tylko wartością „max_allowed_packet”.
http://dev.mysql.com/doc /refman/5.0/en/comparison-operators.html#function_in http://dev.mysql.com /doc/refman/5.0/en/server-system-variables.html#sysvar_max_allowed_packet