Solución:
Su índice está ordenado desc, por lo que cuando solicita ascender, debe hacer mucho más trabajo para devolverlo en ese orden
No le sugiero que cree otro índice sobre la mesa; cada vez que se inserta o elimina una fila, cada índice de la tabla debe actualizarse, lo que se ralentiza INSERT
consultas.
El índice es definitivamente lo que lo está frenando. Tal vez podrías intentar IGNORE
-haciéndolo:
SELECT posts.id
FROM posts IGNORE INDEX (published)
WHERE posts.feed_id IN ( 4953,622,1,1852,4952,76,623,624,10 )
ORDER BY posts.published ASC
LIMIT 0, 50;
O, dado que el campo ya está KEY
ed, puede intentar lo siguiente:
SELECT posts.id
FROM posts USE KEY (published)
WHERE posts.feed_id IN ( 4953,622,1,1852,4952,76,623,624,10 )
ORDER BY posts.published ASC
LIMIT 0, 50;
Primero puede obtener su conjunto de datos y luego ordenarlo.
Algo como
SELECT posts.id FROM (
SELECT posts.id
FROM posts USE INDEX (published)
WHERE posts.feed_id IN ( 4953,622,1,1852,4952,76,623,624,10 )
LIMIT 0, 50
)
order by postS.id ASC;
Primero debe usar el índice para encontrar todos los registros que satisfagan su declaración “dónde”, y los ordenará. Pero la orden se realizaría en un conjunto más pequeño. Pruébalo y luego cuéntanoslo.
Atentamente.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)