sql >> Base de Datos >  >> RDS >> Mysql

Comprensión de los impactos en el rendimiento de la búsqueda de tuplas mysql

Según esta pregunta , el soporte para tuplas en MySQL no está optimizado. Como @O.Jones escribe en su comentario, el planificador de consultas en MySQL es una bestia poderosamente compleja, y las cosas que deberían trabajo no siempre se comportan como cabría esperar.

Creo que su segunda consulta es más rápida porque la primera cláusula where dept_id in (101, 103) reduce el espacio de búsqueda para el segundo que utiliza las tuplas. El optimizador de consultas debería haz esto automáticamente, pero al menos en tu ejemplo no lo hace.

No creo en el IN La cláusula es el problema:es la comparación de tuplas la que escanea toda la tabla y no usa los índices disponibles.