Yo empezaría probando eliminar momentáneamente el ORDER BY, para verificar si eso tiene mal impacto o no. Los ORDER BY y GROUP BY son asesinos de performance, y si se peuden descartar, mejor.
Por otro lado, los LIKE que usas no tienen sentido si no los vas a usar con comodines. Tal como los usas, ponerlo así´:
Es igual que ponerlo así:
Además, si ese fuese el caso, el NOT LIKE es totalmente innecesario, porque estás operando sobre el mismo campo, por lo que la primera condición descarta la segunda. Es una comparación innecesaria.
Pruébalo así y dinos cuánto tiempo tarda de este modo:
Código MySQL:
Ver originalSELECT c.clave
, c.codigo
, c.unidad
, c.resumen
, c.precio
, c.fecha
, c.tipo
, t.texto
, MATCH (t.texto
) AGAINST
('texto1 texto2 texto3') score
MATCH (t.texto
) AGAINST
('texto1 texto2 texto3') AND c.codigo
= 'D_______'