sql >> Databasteknik >  >> RDS >> Mysql

Hur aktiverar man stort index i MariaDB 10?

Det kräver mer än bara dessa två inställningar...

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

Kanske allt du behöver är att lägga till ROW_FORMAT=... till din CREATE TABLE .

Dessa instruktioner behövs för 5.6.3 till 5.7.7. Från och med 5.7.7 är systemet korrekt förvalt för att hantera större fält.

Alternativt kan du använda ett "prefix"-index:

INDEX(column(191))

(Men prefixindexering är felaktig på många sätt.)

"Om servern senare skapar ett högre tabellformat sätts innodb_file_format_max till det värdet" antyder att den inställningen inte är ett problem.



  1. Lagra och iterera över resultatet av frågan i mysqli

  2. SQLite JSON_REPLACE()

  3. Hur importerar man en enorm CSV-fil med 200,00 rader till MySQL (asynkron och snabb)?

  4. Visa alla främmande nyckelbegränsningar för hela MySQL-databasen