Originariamente inviato da angelomorto
Allora, la mia necessità di avere un indice su tutti questi campi è perchè ho creato un archivio digitale in cui gli utenti per salvare i loro files devono compilare un form di 10 campi. Ora ho la necessità di creare un motore di ricerca sia per singolo campo che per tutti e 10 i campi.
Nelle varie ricerche ho letto che indicizzando i campi e creando una query sfruttando le funzioni MATCH - AGAINST potrei velocizzare di molto i tempi di ricerca, invece di usare la funzione LIKE per ogni parola che devo cercare su tutti i campi.
Ho capito bene oppure ho avuto un abbaglio? :master:
Si tratta di un equivoco.

Per utilizzare un indice questo deve prima di tutto esistere. Intanto "IN BOOLEAN MODE" l'indice NON serve perche' una ricerca di questo tipo non potrebbe utilizzare un indice anche se esistesse.

In secondo luogo un indice deve essere creato con tutti i campi interessati dall'indice stesso e qui il tuo equivoco: non devi creare TANTI indici ma un SOLO indice che contenga tutti i campi previsti. E questi campi devono essere elencati nello stesso ordine nel MATCH. MA ripeto, IN BOOLEAN MODE NON serve l'indice. nel tuo caso il problema e' nella lunghezza minima della parola cercata. Attento poi che ci sono altre regole restrittive sulla ricerca.

la lunghezza massima oltre alla minima, le stop words cioe' parole che vengono ignorate, parole con una numerosita' di frequenza troppo intensa per cui verrebbe reso un record set imponente piu' altre delicatess ... leggi BENE il manuale.

Per la tabella 10 campi inseriti = 10 campi su tabella lascia supporre che la tabella forse potrebbe essere ottimizzata, ma non conoscendo il progetto su questo posso solo esprimere un dubbio.