Ho un database mysql in cui gli utenti possono inserire testo. Devono quindi essere in grado di cercare questo testo. Ho appena implementato la ricerca full text su mysql e ha reso le ricerche molto più veloci.Ricerca full-text di MySQL: necessità di inserimento rapido e ricerca veloce
Tuttavia, non ha sorprendentemente reso gli inserti più lenti. Ma sono rimasto sorpreso da quanto è più lento. Un singolo inserto può richiedere 0,5 - 1,5 secondi.
La tabella ha 3 colonne indicizzate:
title (max length 200)
description (max length 3000)
content (max length 10000)
ho solo circa 2000 record nella tabella a questo punto, che non è nulla rispetto a quello che sarà in seguito.
Qualche suggerimento? Come viene gestito normalmente questo problema? È normale che un inserto impieghi così tanto tempo?
Non ho bisogno di tutte le funzionalità di ricerca a testo integrale. Ho solo bisogno dell'equivalente di AND, OR, -, +, "". Quindi niente pesi ecc. L'indicizzazione può essere girata per renderla più veloce?
di MySQL 'indici FULLTEXT', in virtù del fatto che sono sempre in sincronia con i dati, rallenta davvero la scrittura sul tuo tavolo. Esistono soluzioni di terze parti, come [Solr] (http://lucene.apache.org/solr/) o [Sphinx] (http://sphinxsearch.com/), che si collegano al tuo database e creano i propri indici (separato per la modifica dei dati) e quindi non influisce sulle prestazioni di scrittura di MySQL. La presentazione di Bill Karwin [Full Text Search Throwdown] (http://www.slideshare.net/billkarwin/practical-full-text-search-with-my-sql) è un eccellente confronto tra le opzioni. – eggyal
Sfinge appena installata. È meraviglioso. Utilizzando l'indicizzazione rt. Inserimenti e ricerche veloci. – user984003