Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie aktiviere ich einen großen Index in MariaDB 10?

Es erfordert mehr als nur diese beiden Einstellungen...

SET GLOBAL innodb_file_format=Barracuda;
SET GLOBAL innodb_file_per_table=ON;
SET GLOBAL innodb_large_prefix=1;
logout & login (to get the global values);
ALTER TABLE tbl ROW_FORMAT=DYNAMIC;  -- or COMPRESSED

Vielleicht brauchen Sie nur ROW_FORMAT=... hinzuzufügen zu Ihrem CREATE TABLE .

Diese Anleitung wird für 5.6.3 bis 5.7.7 benötigt. Beginnend mit 5.7.7 behandelt das System standardmäßig größere Felder korrekt.

Alternativ könnten Sie einen "Präfix"-Index verwenden:

INDEX(column(191))

(Aber die Präfixindizierung ist in vielerlei Hinsicht fehlerhaft.)

"Wenn der Server später ein höheres Tabellenformat erstellt, wird innodb_file_format_max auf diesen Wert gesetzt" impliziert, dass diese Einstellung kein Problem darstellt.