Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MySQL LIKE %string% nie jest wystarczająco wyrozumiały. Czy mogę jeszcze coś wykorzystać?

Jeśli używasz MyISAM, możesz użyć indeksowania pełnego tekstu. Zobacz ten samouczek

Jeśli używasz innego mechanizmu przechowywania, możesz użyć pełnotekstowego mechanizmu innej firmy, takiego jak sphinx, który może działać jako silnik pamięci dla mysql lub oddzielny serwer, do którego można wysłać zapytanie.

Dzięki indeksowaniu pełnego tekstu MySQL wyszukaj A J Kelly pasowałby do AJ Kelly (nie mylić spraw, ale A, J i AJ byłyby ignorowane, ponieważ są domyślnie za krótkie i pasowałyby do Kelly.) Ogólnie pełny tekst jest znacznie bardziej wyrozumiały (i zwykle szybszy niż LIKE '%string%'), ponieważ umożliwia częściowe dopasowania, które można następnie uszeregować według trafności.

Możesz także użyć SOUNDEX aby wyszukiwania były bardziej wyrozumiałe, indeksując fonetyczne odpowiedniki słów i przeszukuj je, stosując SOUNDEX do wyszukiwanych haseł, a następnie używając ich do przeszukiwania indeksu. Z soundexem mary , marie i marry wszystkie będą pasować, na przykład.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak stworzyć połączony serwer MySQL

  2. Jak wykonać zapytanie sprzężone w interfejsie tabel ZF?

  3. Oblicz sumę zapłaconą z wygenerowanej tabeli foreach w codeigniter

  4. Zmień strefę czasową mysql z phpMyAdmin

  5. Jak połączyć wyniki 2 tabel na podstawie nie warunku