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

Cuando ORDENO POR una columna calculada, la consulta se ralentiza significativamente. ¿Se puede acelerar?

(consolidando la discusión anterior)

No puede ordenar de manera eficiente por un resultado de cálculo. Para que esta consulta funcione rápido, crea una ranking columna que contiene c.age-UNIX_TIMESTAMP(c.newdate) . Luego crea un índice en id y ranking , es decir, CREATE INDEX id_ranking ON c (id, ranking) para indexar tanto GROUP BY como ORDER BY.