Tengo una base de datos con más de 75,000 filas con más de 500 entradas por día.¿La forma más eficiente de buscar en SQL?
Cada fila tiene un título y una descripción.
Creé una fuente RSS que le proporciona las últimas entradas para un término de búsqueda específico (por ejemplo, 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. Ahora mismo tengo:
SELECT *
FROM 'table'
WHERE (('title' LIKE %searcherm%) OR ('description' LIKE %searcherm%))
LIMIT 20;
pero el problema es que se necesita entre 2 y 10 segundos para ejecutar la consulta.
¿Hay una mejor manera de escribir la consulta, tengo que almacenar en caché los resultados (y cómo iba a hacer eso?) O gustaría cambiar algo en la velocidad de estructura de base de datos de la consulta (índices?)
podría ser más rápido que el hilo individuo/desembolsar la transformación en 2 querys simples: 'seleccionar tabla donde título límite 20' luego 'seleccionar de la tabla donde descripción límite 20' cosa, entonces hacer las uniones/lista concat con su lado del servidor tech –
solr, lucene, esfinge? –