MySQL FULLTEXT-Indizes neu erstellen

Diskutiere MySQL FULLTEXT-Indizes neu erstellen im Datenbankserver Forum im Bereich Server; Nachdem man die Variablen ft_min_word_len, ft_max_word_len oder ft_stopword_file geändert hat, müssen laut der MySQL-Dokumentation die...
developr

developr

Teammitglied
Dabei seit
11.11.2008
Beiträge
336
Nachdem man die Variablen ft_min_word_len, ft_max_word_len oder ft_stopword_file geändert hat, müssen laut der MySQL-Dokumentation die Volltext-Indizes neu erstellt werden. Jedoch steht nirgends geschrieben, wie man ohne großen Aufwand alle Indizes neu erstellt.

Man könnte über phpMyAdmin alle Tabellen markieren und im Auswahlmenü "reparieren" auswählen.

mysql-phpmyadmin-table-repair.png

Möchte man nun aber nicht alle Tabellen reparieren, sondern tatsächlich nur die Tabellen, welche auch einen Volltext-Indiz besitzen, dann wechselt in die Datenbank "information_schema" und führt folgenden SQL-Query aus.

Code:
SELECT DISTINCT CONCAT("REPAIR TABLE `", TABLE_SCHEMA, "`.`", 
TABLE_NAME, "` QUICK;") FROM information_schema.STATISTICS 
WHERE index_type = 'FULLTEXT';

Ihr bekommt dann eine Liste, welche ihr nur noch über die Shell oder phpMyAdmin einfügen müsst.

Code:
REPAIR TABLE `dbname`.`blog_text` QUICK;
REPAIR TABLE `dbname`.`groupmessage` QUICK;
REPAIR TABLE `dbname`.`groupmessage_bak` QUICK;
REPAIR TABLE `dbname`.`pt_issue` QUICK;
REPAIR TABLE `dbname`.`pt_issuenote` QUICK;
REPAIR TABLE `dbname`.`socialgroup` QUICK;
 
Thema:

MySQL FULLTEXT-Indizes neu erstellen

Oben