- Registriert
- 20. März 2014
- Beiträge
- 900
- Punkte
- 208
- XF Version
- 1.5.20a
- 2.0.6a
- XF Instanz
- Hosting
- Provider/Hoster
- Forumhelden GmbH
Ich hatte mit die DB angesehen, ja - xf_search_index im speziellen aber nicht gesondert angesehen.Es handelt sich also um keinen Fehler, wie ich bislang angenommen und gehofft hatte. @Kirby selbst hat sich die DB angeschaut. Auch er konnte diese zusätzlichen GB nicht finden. Was meint Ihr, wie ich jetzt am besten vorgehen sollte?
Ich komme ja wohl nicht umhin, diese Files hier zu löschen/minimieren:
Diese Tabelle ist, wie Chris ja schon geschrieben hat, standardmäßig MyISAM - Volltext-Indexe gibt es bei InnoDB noch nicht soo lange (sei MySQL 5.5, XenForo setzt aber min. nur MySQL 5.5 voraus).
InnoDB und MyISAM zu mischen ist im allgemeinen nicht sinnvoll und verursacht Probleme - wenn man denn wirklich "mischt".
Das ist bei dieser tabelle aber gerade nicht der Fall, der Suchindex wird ausschließlich für die Suche genutzt.
InnoDB Volltext Indexe belegen deutlich mehr Speicher als bei MyISAM - und werden obendrein bei der Berechnung der Index-Größe über information_schema nicht berücksichtigt.
Es sind zwar Indexe, aber eben ... anders.
Wenn Du die Tablle nicht selbst umgestellt hast (sei es nun bewusst oder unbewusst) und das Problem bei mehreren Kunden auftritt würde ich mal vermuten dass IONOS grundsätzlich alls MyISAM-Tabellen auf InnoDB umgestellt hat.
Falls das möglich ist kannst Du die Tablle wieder auf MyISAM umstellen, einen Weg dazu hat Chris ja bereits aufgezeigt.
Andere Ansätze:
1) TRUNCATE xf_searrch_index und ALTER TABLE xf_search_index Engine=InnoDB
oder
2)
Code:
CREATE TABLE `xf_search_index_new` (
`content_type` varchar(25) COLLATE utf8mb4_general_ci NOT NULL,
`content_id` int unsigned NOT NULL,
`title` varchar(250) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
`message` mediumtext COLLATE utf8mb4_general_ci NOT NULL,
`metadata` mediumtext COLLATE utf8mb4_general_ci NOT NULL,
`user_id` int unsigned NOT NULL DEFAULT '0',
`item_date` int unsigned NOT NULL,
`discussion_id` int unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`content_type`,`content_id`),
KEY `user_id_item_date` (`user_id`,`item_date`),
FULLTEXT KEY `title_message_metadata` (`title`,`message`,`metadata`),
FULLTEXT KEY `title_metadata` (`title`,`metadata`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
Code:
RENAME TABLE xf_search_index to xf_search_index_old, xf_search_index_new to xf_search_index
Code:
DROP TABLE xf_search_index_old
Und danach (sowohl bei als als auch 2 und dem Ansatz von Chris) den Suchindex neu erstellen.
Das würde ich aber per SSH machen, geht Zillionen mal schneller als per Browser.
Aber wie Chris schon geschrieben hat, das wäre nur ein vorübergehener Workaround - 3+ Millonen Beiträge ist eigentlich zuviel für Volltext; in der Größenordnung möchte man ES nutzen.