Resulta que tengo un problema de saturación en el servidor por las consultas mysql de mi web, así que me he puesto a optimizarlas utilizando el explain de mysql, pero en todos los casos en los que utilizo el order by el explain me pone en extras Using filesort lo que quiere decir según esta recomendación de optimización
http://www.mysql-hispano.org/page.php?id=29&pag=8
que debo modificar mi consulta porque mysql necesita un paso más para ordenar la consulta.
He leido los otros post que hay sobre este tema pero no consigo encontrar la respuesta.
http://www.forosdelweb.com/f86/consulta-optimizar-tiempo-respuesta-466285/
http://www.forosdelweb.com/showthrea...light=filesort
El ejemplo concreto es este:
Código:
El resultado es este:EXPLAIN SELECT id_materia, descripcion_materia FROM materias WHERE tipo_materia = 'Posters' ORDER BY id_materia
Código:
Los indices de la tabla son:id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE materias ref tipo_materia tipo_materia 17 const 3 Using where; Using filesort
Código:
En cuanto quito el order by todo va de maravilla, pero lo necesito para ordenar los resultados de la consulta.Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment materias 0 PRIMARY 1 id_materia A 86 NULL NULL BTREE materias 1 tipo_materia 1 tipo_materia A NULL NULL NULL BTREE materias 1 descripcion_materia 1 descripcion_materia A NULL NULL NULL BTREE
No sé si me está escapando algo que no pillo... a ver si alguien me puede echar una mano.
Gracias de antemano.