Mysql
 sql >> Database >  >> RDS >> Mysql

Come abilitare l'indice di grandi dimensioni in MariaDB 10?

Richiede più di queste due impostazioni...

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

Forse tutto ciò di cui hai bisogno è aggiungere ROW_FORMAT=... al tuo CREATE TABLE .

Queste istruzioni sono necessarie per 5.6.3 fino a 5.7.7. A partire da 5.7.7, il sistema per impostazione predefinita gestisce correttamente campi più grandi.

In alternativa, puoi utilizzare un indice "prefisso":

INDEX(column(191))

(Ma l'indicizzazione dei prefissi è difettosa in molti modi.)

"Se in seguito il server crea un formato tabella superiore, innodb_file_format_max viene impostato su quel valore" implica che tale impostazione non costituisce un problema.