Mysql
 sql >> база данни >  >> RDS >> Mysql

Търсене на пълен текст в MySQL 5.6 InnoDB

Никога не съм използвал Sphinx, но пробва MySQL 5.6 FTS на таблица на Innodb с около 170 000 реда. Направи FTS индекс в колоната с имена (съдържа всички имена на човек). За да намерите дума на произволна позиция на низа MATCH(name) AGAINST("+word*") IN BOOLEAN MODE работи много по-бързо (2-3 пъти в моя случай), отколкото да използвате name LIKE "word%" OR name LIKE "% word" . Въпреки това, когато правите обединения, проверете EXPLAIN, за да видите дали FTS индексът действително се използва. Изглежда, че MySQL оптимизаторът не е толкова добър в отгатването кога трябва да се използва FTS индексът.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Защо Hibernate/JDBC/MySQL прекъсва връзките след около ден?

  2. Изберете свободни стаи между две дати

  3. $this->db->insert_id() не работи в mysql codeigniter

  4. Използване на PHP и RegEx за извличане на всички стойности на опции от изходния код на сайта

  5. Как да филтрирам (или заменя) unicode символи, които биха заели повече от 3 байта в UTF-8?