sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo habilitar un índice grande en MariaDB 10?

Requiere más que solo esas dos configuraciones...

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

Tal vez todo lo que necesita es agregar ROW_FORMAT=... a tu CREATE TABLE .

Estas instrucciones son necesarias para 5.6.3 hasta 5.7.7. A partir de la versión 5.7.7, el sistema por defecto maneja correctamente campos más grandes.

Alternativamente, podría usar un índice de "prefijo":

INDEX(column(191))

(Pero la indexación de prefijos tiene fallas de muchas maneras).

"Si el servidor luego crea un formato de tabla más alto, innodb_file_format_max se establece en ese valor" implica que esa configuración no es un problema.