sql >> Database teknologi >  >> RDS >> Mysql

MySQL LIKE %string% ikke helt tilgivende nok. Noget andet jeg kan bruge?

Hvis du bruger MyISAM, kan du bruge fuldtekstindeksering. Se dette selvstudie

Hvis du bruger en anden lagringsmaskine, kan du bruge en tredjeparts fuldtekstmotor som sphinx, der kan fungere som en lagringsmotor til mysql eller en separat server, der kan forespørges.

Med MySQL fuldtekstindeksering en søgning på A J Kelly ville matche AJ Kelly (nej for at forvirre sagerne, men A, J og AJ ville blive ignoreret, da de er for korte som standard, og det ville matche på Kelly.) Generelt er Fulltext meget mere tilgivende (og normalt hurtigere end LIKE '%string%'), fordi det tillader delvis kampe, som derefter kan rangeres efter relevans.

Du kan også bruge SOUNDEX at gøre søgninger mere tilgivende ved at indeksere de fonetiske ækvivalenter af ord og søge dem ved at anvende SOUNDEX på dine søgetermer og derefter bruge dem til at søge i indekset. Med soundex mary , marie , og marry vil alle matche f.eks.



  1. Gentagelse af kalenderbegivenheder og nogle afsluttende matematik

  2. beregne løbende balance i oracle-forespørgsel

  3. importere sql-fil til en database ved hjælp af wamp

  4. Få tællinger af alle tabeller i et skema