sql >> Databasteknik >  >> RDS >> Mysql

MySQL FULLTEXT frågeproblem

Ett fulltextindex är fel tillvägagångssätt för det du försöker göra. Men ditt specifika problem är den minsta ordlängden, som är antingen 3 eller 4 (som standard), beroende på slutet. Detta förklaras i dokumentationen , särskilt här .

När du har återställt värdet måste du återskapa indexet.

Jag misstänker att du försöker vara smart. Du har säkert hört rådet "förvara inte listor med saker i avgränsade strängar". Men du kontrade istället "ah, men jag kan använda ett fulltextindex". Du kan , även om du kommer att upptäcka att mer komplexa frågor inte optimerar särskilt bra.

Gör det bara rätt. Skapa associationstabellen user_skills med en rad per användare och per färdighet som användaren har. Du kommer att finna det lättare att använda i frågor, för att förhindra dubbletter, att optimera frågor och så vidare.



  1. Är COUNT snabbare än att dra posterna och räkna in kod?

  2. implodera en array i en kommaseparerad sträng från mysql-frågan

  3. Vad är fördelen med att använda försök {} catch {} kontra om {} annat {}

  4. Det angivna argumentet är inte en giltig MySQL-resultatresurs