Así que siempre pensé que ver "Usar dónde" en la columna Extra era algo bueno. Sin embargo, estaba planeando un almuerzo de bolsa marrón para mis compañeros de trabajo sobre la interpretación de EXPLAIN y ahora no estoy tan seguro. El documento de MySQL dice esto en las notas sobre "Usar dónde":Optimización de MySQL: EXPLAIN La columna "Extra" contiene "Usar dónde"
Una cláusula WHERE se usa para restringir las filas que coinciden con la siguiente tabla o enviar al cliente. A menos que específicamente intente buscar o examinar todas las filas de la tabla, puede tener algo mal en su consulta si el valor Extra no utiliza el lugar y el tipo de combinación de tabla es TODO o índice. Incluso si está utilizando un índice para todas las partes de una cláusula WHERE, puede ver Using Using where si la columna puede ser NULL.
Esto me lleva a pensar que incluso si mi cláusula WHERE sólo contiene partes del índice, que MySQL todavía examinará filas si las columnas pueden tener valores NULL.
¿Es eso cierto? De ser así, ¿debería cambiar las columnas para no incluir NULL si no lo necesito? ¿Veré un aumento de velocidad?
Acabo de hacer una prueba: cambie la columna de nulo a no nulo y luego "using where" desapareció. – tomwang1013