La función FIND_IN_SET de MySQL es conocida por no utilizar índices, lo que resulta en consultas ineficientes. Sin embargo, existen enfoques alternativos para lograr el comportamiento de indexación deseado cuando se trata de listas separadas por comas.
La técnica descrita en la respuesta proporcionada sugiere usar una declaración preparada con un parámetro aceptando una cadena en forma de lista separada por comas. Al utilizar el tipo de rango con una clave que no sea NULL en la declaración preparada, se garantiza que se emplearán índices al ejecutar la cláusula IN.
Por ejemplo, la siguiente consulta realiza una búsqueda de rango con un índice en el columna 'id':
explain select * from ratings where id in (2331425, 430364, 4557546, 2696638, 4510549, ...)
Si bien este enfoque permite consultas indexadas eficientes, es crucial considere las siguientes precauciones:
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3