它为什么没走索引
索引明明建了,它就是不走 —— 是写废了,还是它算过了?
Copia la indicación y elige un modelo. Hará de entrevistador y te irá preguntando escena por escena en vez de darte la respuesta.
En un móvil con la aplicación instalada, el sistema la abre directamente. Dentro de WeChat no se pueden abrir aplicaciones externas: ábrelo primero en el navegador.
El texto copiado termina con la plantilla de corrección que usa el modelo. No la leas tú antes: lo que cuenta es haberlo razonado por tu cuenta.
「索引失效的十种情况」那种清单背完就忘,因为它没告诉你共同点。这一份要你自己说出那个共同点,然后拿它去判每一条具体的 SQL。
但真正的重点在第三幕:有一类「没走索引」是优化器算过之后的正确选择。分不开这两类,你会一路奔着「加个 hint 强制走索引」去 —— 而它会追你一句:你怎么知道走索引真的更快?拿什么数证明?
最后一幕反过来问:有没有可能走了索引比全表扫还慢。
Lo que entrena este
Este texto en el repositorio (la solución está al final de ese archivo: la verás)
¿Ya hiciste este?
Inicia sesión para marcar que ya lo practicaste; la próxima vez verás qué día fue.
Notas de quienes lo hicieron
Cómo se usa
Esta serie es de aprendizaje: te guía, no te acorrala. Cuando te atascas primero pregunta en qué capa estás atascado (nunca lo oí / lo sé pero no por qué / sé por qué pero no lo aplico) y luego decide qué darte. Solo explica tras guiarte dos veces, y después te pide que lo repitas con tus palabras.
Por defecto razona en MySQL / InnoDB —— la mitad de las trampas aquí son detalles de implementación, y el índice agrupado, la vuelta a la tabla y los bloqueos de hueco funcionan distinto en otros motores. PostgreSQL u otro también vale: dilo en tu primera frase y seguirá tu motor, señalando dónde cambian las conclusiones.
Cómo empezar
- Elige uno, ábrelo y copia el prompt.
- Pégalo en una conversación nueva y vacía, y di primero qué motor y versión usas (si no lo dices, asume MySQL 8).
- Después no digas nada más y espera su primera pregunta.
Cuatro comandos que puedes soltar en cualquier momento
跳过Pasar ya al siguiente acto换个说法Explicar esto desde otro ángulo直说吧Dar la respuesta completa y luego hacérmela repetir复盘Saltar directo a la ficha de cierre
Tres trampas
- No leas la plantilla del final antes de empezar —— la sección «errores de razonamiento frecuentes» es la respuesta a cada pregunta.
- Prepárate para que te pida números. «Un poco más rápido», «ahorra IO» se corta en el acto: ¿cuántas filas? ¿cuántas veces? ¿cuántas veces más rápido? Una conclusión sin número es memorizada.
- En cuanto empiece a halagarte, recuérdale la regla «no me halagues». Guiar no es consentir.
Empieza por el índice compuesto: es el cimiento de la serie, «los bloqueos van sobre registros de índice» y «por qué lee tantas filas» se apoyan los dos en su frase clave. Si la concurrencia te está mordiendo en producción, empieza por «leer y luego escribir»; si las consultas van lentas, por el plan de ejecución.
Entrar para escribir una nota.