MySQL w limicie stanu

Hej, muszę użyć IN condition w moim oświadczeniu MySQL z dużym zestawem identyfikatorów.

Przykład

SELECT * FROM users WHERE id IN (1,2,3,4...100000)

Czy istnieje limit pozycji, które może mieć Instrukcja IN?

Author: Will, 2010-11-25

2 answers

Nie ma, sprawdź instrukcję dotyczącą funkcji IN :

Liczba wartości na liście IN jest ograniczona tylko wartością max_allowed_packet .

 71
Author: Progman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-11-25 09:51:46

Z tego co wiem w mysql nie ma limitu dla pozycji w instrukcji IN.

W Oracle oprócz instrukcji IN istnieje limit 1000 pozycji.

Ale więcej elementów w IN, wydajność zapytań spowolni, chyba że ta kolumna jest indeksowana.

 14
Author: Sachin Shanbhag,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-11-25 10:03:50