Domanda

Ho aggiunto un indice FULLTEXT su tre delle mie colonne, dopo che avevo già un sacco di record ... significa che FULLTEXT non li indicizzerà e indicizzerà solo i record inseriti dopo l'aggiunta dell'indice FULLTEXT? In tal caso, comunque per reindicizzare l'intero database?

È stato utile?

Soluzione

Quando esegui ALTER TABLE ADD INDEX, i vecchi record vengono immediatamente indicizzati (e i nuovi record vengono indicizzati non appena vengono INSERITI). Questo vale anche per gli indici FULLTEXT.

Si noti tuttavia che a volte (ad es. quando si cambiano le opzioni ft_min_word_len, ft_max_word_len o ft_stopword_file) è necessario ricostruire un indice FULLTEXT, vedere http://dev.mysql.com/doc/refman/5.1/en/fulltext-fine-tuning.html per i dettagli.

Altri suggerimenti

È responsabilità di MySQL, non tua, garantire che gli indici siano coerenti con i dati che stanno indicizzando.

Quando aggiungi un indice su dati esistenti, MySQL costruirà l'indice in base a quei dati esistenti.

Gli indici FULLTEXT non fanno eccezione.

Dovresti solo ricostruire un indice se sospetti che la tua tabella sia stata corrotta in qualche modo, o hai fatto qualche altra modifica avanzata al modo in cui MySQL costruisce i suoi indici.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top