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

¿Debo evitar COUNT todos juntos en InnoDB?

SELECCIONE COUNT(*) FROM tablename parece hacer un escaneo completo de la tabla.

SELECCIONE CONTADOR(*) DEL nombre de tabla UTILICE ÍNDICE (nombre de columna) parece ser bastante rápido si el índice disponible NO es NULO, ÚNICO y de longitud fija. Un índice no ÚNICO no ayuda mucho, en todo caso. Los índices de longitud variable (VARCHAR) parecen ser más lentos, pero eso puede deberse a que el índice es físicamente más grande. Los índices enteros ÚNICOS NO NULOS se pueden contar rápidamente. Lo cual tiene sentido.

MySQL realmente debería realizar esta optimización automáticamente.