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

Wielokolumnowe wyszukiwanie nazw MySQL

Najlepszym rozwiązaniem jest utworzenie indeksu PEŁNEGO TEKSTU, który obejmuje dwa pola

Krok 1) Utwórz plik słowa stop z zaledwie trzema słowami

echo "a"> /var/lib/mysql/stopwords.txt
echo "an">> /var/lib/mysql/stopwords.txt
echo "the">> /var/lib/ mysql/stopwords.txt

Krok 2) Dodaj te opcje do /etc/my.cnf

ft_min_word_len=2
ft_stopword_file=/var/lib/mysql/stopwords.txt

Krok 3) Utwórz indeks FULLTEXT w kolumnach imienia i nazwiska

ALTER TABLE użytkownicy ADD FULLTEXT first_last_name_index (pierwszy,ostatni);

Krok 4) Zaimplementuj w wyszukiwaniu funkcję PODAJ.POZYCJĘ

Coś takiego:

SELECT * FROM użytkowników WHERE (MATCH(pierwszy,ostatni) AGAINST ('Jan' W TRYBIE BOOLEAN)) AND (MATCH(pierwszy,ostatni) AGAINST ('Doe' W TRYBIE BOOLEAN));

Kliknij tutaj, aby dowiedzieć się więcej o indeksowaniu FULLTEXT




  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 odjąć 30 dni od aktualnej daty i godziny w mysql?

  2. Wypełnianie kalendarza kodem PHP foreach

  3. MySQL Server zniknął podczas importowania dużego pliku sql

  4. Jak zamawiać według daty w MySQL

  5. Zrozumienie MySQL TRUNCATE TABLE na praktycznych przykładach