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

Fulltextové vyhledávání MySQL 5.6 InnoDB

Nikdy jsem nepoužil Sphinx, ale zkusil MySQL 5.6 FTS na tabulce Innodb s asi 170 000 řádky. Vytvořil FTS index ve sloupci jména (obsahuje všechna jména osoby). Chcete-li najít slovo na libovolné pozici v řetězci MATCH(name) AGAINST("+word*") IN BOOLEAN MODE funguje mnohem rychleji (v mém případě 2-3krát) než použití name LIKE "word%" OR name LIKE "% word" . Při vytváření spojení však zkontrolujte EXPLAIN, abyste zjistili, zda je index FTS skutečně používán. Zdá se, že optimalizátor MySQL není tak dobrý v odhadování, kdy by měl být použit index FTS.



  1. Problémy UTF-8 se znaky z databáze MySQL (např. é jako é)

  2. Vložit více záznamů z datagridview do mé databázové tabulky pomocí VB.NET

  3. Jak zvýšit výjimku v PL/SQL?

  4. Proč není XAMPP vhodný pro výrobu?