Cita: 1.- las tablas tienen solamente un índice, el de la clave principal, ninguno más, por lo que no entiendo que digas exceso de índices.
Cada indicacion d KEY crea un índice...
Cita: 2.- dices que no está en 1FN, porqué existe algun campo vació?
Un campo vacío no implica que no esté en 1FN. Entre otras cosas tienes más de un campo sobre el mismo dominio, por ejemplo:
y eso está mal diseñado. Eso se debe haer con una tabla adicional, y no agregando campos, ni aún cuando los uses todos.
Nota:
eso no es lo único que define la 1FN.
Cita: 4.- "Los campos de TEXT deberían ser usados en índices de tipo FULLTEXT, aprovechando que usas tablas MySAM.", no entiendo a qué campos te refieres, los varchar?
A este caso, por ejemplo:
Y NO, no confundo TEXT con VARCHAR...
Cita: 5.- En cuanto al order? Pero si quieres los campos ordenados, cómo lo haces?
No dije que no se pueda usar, sino que cuando la consulta devuelve muchos registros el ORDER BY, así como el GROUP BY, son asesinos de performance. En esos casos lo primero que hay que ver es un buen EXPLAIN de la consulta, para asegurrse que sea óptima.