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

MySQL no usa índice para ORDER BY

Dado que tiene que cargar toda la tabla para responder a la consulta y ordenar 4 elementos es económico, el optimizador de consultas podría evitar tocar el índice. ¿Todavía sucede con mesas más grandes?

Tenga en cuenta que una columna varchar(3000) no puede ser un índice de cobertura porque MySQL no incluirá más de los primeros 768 o más bytes de un varchar en un índice.

Si desea que la consulta solo lea el índice, el índice debe tener todas las columnas que SELECT ing para en él. En innodb, eso debería comenzar a funcionar para su tabla de dos columnas una vez que haga que textcol sea lo suficientemente pequeño; en MyISAM deberá incluir la columna de clave principal usted mismo, como CREATE INDEX textcolindex ON test (textcol,id);