sql >> Databáze >  >> RDS >> Mysql

Jak povolit velký index v MariaDB 10?

Vyžaduje více než jen tato dvě nastavení...

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

Snad vše, co potřebujete, je přidat ROW_FORMAT=... do vaší CREATE TABLE .

Tyto pokyny jsou potřebné pro 5.6.3 až 5.7.7. Počínaje verzí 5.7.7 se systém nastaví správně, aby zpracoval větší pole.

Případně můžete použít "prefix" index:

INDEX(column(191))

(Ale indexování prefixů je v mnoha ohledech chybné.)

"Pokud server později vytvoří vyšší formát tabulky, innodb_file_format_max je nastaven na tuto hodnotu" znamená, že toto nastavení není problém.



  1. BIN() – Získá binární hodnotu čísla v MySQL

  2. Jak změním výchozí schéma ve vývojáři sql?

  3. 2ndQuadrant na PostgresConf USA 2018

  4. Vyberte, zda existuje jiný vložit?