- Home
- Categorie
- Coding e Sistemistica
- MYSQL e altri Database
- [MYSQL] Mysql full text ricerca lenta come il like
-
[MYSQL] Mysql full text ricerca lenta come il like
SAlve, ho un problema. Dato un sito con 2.000.000 di record in una tabella mysql devo fare una ricerca sulle parole interne.
Sino a poche ore fa usavo il like e la velocità era pessima. Cercando online ho trovato gli indici full text.
Ho creato una tabella prodotti2 di tipo myisam e ho creato un indice full text su valorericerca....
Le ricerche continuano però a restare lente. Perchè? cosa sbaglio?
-
Ciao, dipendeanche dalla configurazione del server e dalla configurazione di mysql. comunque per così tanti record è meglio un motore nosql come solr.
M
-
ok, sbagliavo a fare l'ftp.... che vergogna ....
-
Nuovo proble .... ora reale. Per stringhe tipo X201E-KX022DU non ho risultati.
Invece li ho perfetti per MBT2LIX .... se hai una soluzione mi eviti di aprire una nuova discussione.
-
Ciao, senza vedere il DB è un po' difficile saperlo. la ricerca con "=" ti ritorna il risultato ? Non è che hai la tabella in case-sensitive ?
M.
-
Con = o il like classico funziona.
Prova a cercare sul sito in firma 90nb00l2-m02820 ....anche in maiuscolo. Con il like funziona, sia in maiuscolo che in minuscolo, con il full text no, ne in maiuscolo e ne in minuscolo................
Ps il prodotto lo trovi in notebook.Non è che punti e trattino gli danno 'fastidio??'
-
sono proprio alcuni caratteri ...... . e - di sicuro ....soluzioni?
-
Ho lo stesso problema, database di 1.500.000 record, ricerca partnumber su 4 campi con operatore OR (partnumber, partnumber_stripped, alternative, alternative_stripped). Gli stripped sono gli stessi campi privi dei trattini, underscore, punti, per semplificare la ricerca lato utente.
Il database pesa circa 400Mb senza indici. Come devo fare gli indici? Che altri tipi di tuning posso fare al db per velocizzare la query?
-
Non ho capito: Hai già creato gli indici standard e quelli fulltext?
-
ho creato quelli standard e uso il like nella query, ma quali sono le best practise in questi casi? per una where con tutti OR?
-
quindi non utilizzi i fulltext e le query MATCH(fulltitolo) AGAINST('camicia' in boolean mode) giusto?? se non li usi provali