sto usando un semplice mysql come espressione di ricerca come questa:
SELECT * FROM myTable WHERE field LIKE 'aaa%' ORDER BY field2
mysql come% query è lenta con indice full-text
Ho un indice full-text sul "campo", ed ancora è molto lento. Ho capito che esiste un'opzione per utilizzare la corrispondenza. Qual è la differenza? Come? Qual è l'approccio migliore per il mio utilizzo? Avviso Sto utilizzando il "%" per tutto ciò che inizia con "aaa"
UPDATE: Ho finito per usare qualcosa di simile: 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 che vorrei cambiare, è non è dovuto l'ordine prima da parte di SCORE e poi dal mio campo di popolarità, e invece ordine da una semplice funzione di peso, qualcosa come 0.5 * SCORE + 0.5 * popolarità. Come?
Interessante .. Qualcuno ha query equivalenti per DB2 o sybase? Google non è di grande aiuto. – user606723
@ user606723 dai un'occhiata a questo articolo: [Ricerca full-text con DB2 Text Search] (http://www.ibm.com/developerworks/data/tutorials/dm-0810shettar/index.html) – Jacob
Ho aggiornato la mia domanda con un "ordine per". Come posso aggiungerlo? – Noam