Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/01/2009, 23:34
TEKILA
 
Fecha de Ingreso: octubre-2008
Mensajes: 9
Antigüedad: 16 años, 4 meses
Puntos: 0
Pregunta Aumentar rendimiento en busqueda

Hola, os pido ayuda porque ya no se que probar. Estoy realizando búsquedas en una base de datos (solo búsquedas, no realizo UPDATE) y mis tablas son de tipo InnoDB.
Pues entre ellas hay una que es muy lenta. Os lo mostrare resumidamente.
Tengo dos tablas, una llamada titulos con 10 columnas y unas 20.000 filas y otra llamada autor con 3 columnas y 40.000 filas. De las 3 columnas de autor una es una referencia a la columna private key de titulos.

titulos:
---------------------------
id | col_1 | col_2 | ...
1 a d
2 b e
3 c f

autor:
----------------------------
id | nombre | id_titulo
1 pedro 5
2 juan jose 9
3 carlos 6

En autor he creado el siguiente indice:
Index name - Field name - Index type
mi_indice1 name(25) Normal

En titulos he creado el siguiente indice:
Index name - Field name - Index type
mi_indice2 id Unique

Bien pues con todo esto, cuando realizo la siguiente busqueda:
Código:
SELECT * FROM titulos WHERE id = ANY
(SELECT id_titulo FROM autor WHERE nombre LIKE "%unaPalabraCualquiera%");
Mi búsqueda es demasiado lenta y ya no se que hacer para mejorar su rapidez sin cambiar de tipo de tabla. Cualquier sugerencia me vale por tonta que os parezca. Por cierto, las tablas tienen el texto en UTF-8, por si os ayuda el dato.
Gracias desde ya.