estoy usando la tabla "usuarios", con más de 2 millones de discos. La consulta es:uso del Índice de MySQL para consulta ORDER BY LIMIT
SELECT * FROM users WHERE 1 ORDER BY firstname LIMIT $start,30
"firstname" column is indexed. Obtener las primeras páginas es muy rápido, mientras que obtener las últimas páginas es muy lento.
que utilizan explicar y aquí están los resultados:
para
EXPLAIN SELECT * FROM `users` WHERE 1 ORDER BY `firstname` LIMIT 10000 , 30
que estoy recibiendo:
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE users index NULL firstname 194 NULL 10030
Pero para
EXPLAIN SELECT * FROM `users` WHERE 1 ORDER BY `firstname` LIMIT 100000 , 30
estoy recibiendo
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE users ALL NULL NULL NULL NULL 2292912 Using filesort
¿Cuál es el problema?
Demasiada omisión. –
Intente ejecutar la declaración de los usuarios de 'ANALYZE TABLE' y vea si ayuda. –