¿La forma más eficiente de buscar en SQL?
Tengo una base de datos con más de 75,000 filas con más de 500 entradas agregadas por día.
Cada fila tiene un título y una descripción.
Creé una fuente RSS que le brinda las últimas entradas para un término de búsqueda específico (ej.http: //site.com/rss.rss? q = Pizza generaría un RSS para el término de búsqueda "Pizza").
Me preguntaba cuál sería la mejor manera de escribir la consulta SQL para esto. En este momento tengo:
SELECT *
FROM 'table'
WHERE (('title' LIKE %searcherm%) OR ('description' LIKE %searcherm%))
LIMIT 20;
Pero el problema es que lleva entre 2 y 10 segundos ejecutar la consulta.
¿Hay una mejor manera de escribir la consulta? ¿Tengo que almacenar en caché los resultados (y cómo lo haría?) O cambiar algo en la estructura de la base de datos aceleraría la consulta (¿índices?)