Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como habilitar o índice grande no MariaDB 10?


Requer mais do que apenas essas duas configurações ...
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

Talvez tudo que você precisa é adicionar ROW_FORMAT=... para o seu CREATE TABLE .

Estas instruções são necessárias para 5.6.3 até 5.7.7. A partir do 5.7.7, o sistema padroniza corretamente para lidar com campos maiores.

Alternativamente, você pode usar um índice "prefixo":
INDEX(column(191))

(Mas a indexação de prefixo é falha de várias maneiras.)

"Se o servidor criar posteriormente um formato de tabela mais alto, innodb_file_format_max será definido para esse valor" implica que essa configuração não é um problema.