estoy usando un MySQL simples como consulta como esta:
SELECT * FROM myTable WHERE field LIKE 'aaa%' ORDER BY field2
MySQL como% de consultas es lento, con un índice de texto
que tienen un índice de texto completo en el "campo", y todavía es muy lento. Entendí que hay una opción para usar match. ¿Cuál es la diferencia? ¿Cómo? ¿Cuál es el mejor enfoque para mi uso? Aviso estoy usando el "%" por todo lo que empieza con "AAA"
ACTUALIZACIÓN: he terminado de usar algo como esto: SELECT
*, MATCH (name) AGAINST ('a*' IN BOOLEAN MODE) AS SCORE
FROM
users WHERE
MATCH (name) AGAINST ('a*' IN BOOLEAN MODE)
ORDER BY SCORE, popularity DESC LIMIT 4
Una cosa que me gustaría cambiar, es no se debe al orden por parte de SCORE y luego por mi popularidad en el campo, y en su lugar ordena por una función de peso simple, algo así como 0.5 * SCORE + 0.5 * popularidad. ¿Cómo?
Interesante ... ¿Alguien tiene alguna consulta equivalente para DB2 o sybase? Google no está siendo de mucha ayuda. – user606723
@ user606723 eche un vistazo a este artículo: [Búsqueda de texto completo con DB2 Text Search] (http://www.ibm.com/developerworks/data/tutorials/dm-0810shettar/index.html) – Jacob
He actualizado mi consulta con un "orden por". ¿Cómo puedo agregar eso? – Noam