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

Problém s FULLTEXT indexy MySQL

Používáte nesprávný typ tabulky. Mysql podporuje několik různých typů tabulek, ale nejčastěji používané jsou MyISAM a InnoDB. MyISAM (v MySQL 5.6 + také tabulky InnoDB) jsou typy tabulek, které Mysql podporuje pro fulltextové indexy.

Chcete-li zkontrolovat typ tabulky, použijte následující dotaz SQL:

SHOW TABLE STATUS

Při pohledu na výsledek vrácený dotazem najděte svou tabulku a odpovídající hodnotu ve sloupci Engine. Pokud je tato hodnota jakákoli jiná než MyISAM nebo InnoDB, pak Mysql při pokusu o přidání FULLTEXTOVÝCH indexů vyvolá chybu.

Chcete-li to napravit, můžete pomocí dotazu SQL níže změnit typ motoru:

ALTER TABLE <table name> ENGINE = [MYISAM | INNODB]

Další informace (myslím, že by to mohlo být užitečné):Mysql používá různé typy úložiště motoru k optimalizaci pro potřebnou funkčnost konkrétních tabulek. Příklad MyISAM je výchozí typ pro operační systémy (kromě oken), rychle předformuluje SELECTy a INSERTy; ale nezpracovává transakce. InnoDB je výchozí pro Windows, lze jej použít pro transakce. Ale InnoDB vyžaduje více místa na disku na serveru.



  1. Jak proaktivně shromažďovat informace o fragmentaci indexů serveru SQL Server

  2. Jak zjistit, zda je vypočítaný sloupec deterministický na serveru SQL Server

  3. Žádné mapování dialektu pro typ JDBC:1111

  4. 2 způsoby, jak získat krátký název měsíce z data v MariaDB