sql >> Databasteknik >  >> RDS >> Mysql

MySQL 5.6 InnoDB Full Text Search

Har aldrig använt Sphinx, men provade MySQL 5.6 FTS på ett Innodb-bord med cirka 170k rader. Gjorde ett FTS-index på namnkolumnen (innehåller alla namn på en person). För att hitta ett ord i valfri position i strängen MATCH(name) AGAINST("+word*") IN BOOLEAN MODE fungerar mycket snabbare (2-3 gånger i mitt fall) än att använda name LIKE "word%" OR name LIKE "% word" . Men när du gör joins, kontrollera EXPLAIN för att se om FTS-indexet faktiskt används. Det verkar som att MySQL-optimeraren inte är så bra på att gissa när FTS-indexet ska användas.



  1. Designa en databas:Vilket är det bästa tillvägagångssättet?

  2. Problem med UTF-8-tecken; det jag ser är inte det jag har lagrat

  3. Undviker kapslade frågor

  4. UPPDATERA med SELECT, kommer det att låsa varje rad eller alla VALDA poster