Oye, tengo que usar la condición IN en mi declaración MySQL con un gran conjunto de identificadores.
Ejemplo
SELECT * FROM users WHERE id IN (1,2,3,4...100000)
¿Existe un límite si los elementos que puede tener la declaración IN?
mysql
conditional-statements
xpepermint
fuente
fuente
Respuestas:
No, no lo hay, consulte el manual sobre la función IN :
fuente
where id IN (14000 ids)
, funcionará hasta que la consulta de actualización sea inferior a 64 MB (que es el valor predeterminado), ¿verdad?IN
palabra clave no tiene límites incorporados , sin embargo, puede haber otros límites como losmax_allowed_packet
que podrían limitar indirectamente el número de valores. Si establece este valor en 1024 (bytes), puede usar de manera efectiva solo un número limitado de valores.Por lo que sé en mysql, no hay límite para los elementos de la
IN
declaración.Aunque en Oracle, hay un límite de 1000 elementos en la
IN
declaración.Pero a medida que los elementos
IN
estén incluidos, el rendimiento de su consulta se ralentizará a menos que esa columna esté indexada.fuente
1073741824 Este es el límite dado en los documentos de Mysql
fuente