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

Wyszukiwanie pełnotekstowe MySQL w>1 tabeli

Dołącz po filtrach (np. dołącz do wyników), nie próbuj dołączać, a następnie filtrować.

Powodem jest to, że tracisz możliwość korzystania z indeksu pełnotekstowego.

Wyjaśnienie w odpowiedzi na komentarz:używam tutaj słowa join ogólnie, a nie jako JOIN ale jako synonim łączenia lub łączenia.

Zasadniczo mówię, że powinieneś użyć pierwszego (szybszego) zapytania lub czegoś podobnego. Powodem, dla którego jest to szybsze, jest to, że każde z podzapytań jest wystarczająco uporządkowane, aby baza danych mogła użyć pełnego indeksu tekstowego tej tabeli do bardzo szybkiego wyboru. Łączenie dwóch (prawdopodobnie znacznie mniejszych) zestawów wyników (za pomocą UNION ) jest również szybki. Oznacza to, że całość przebiega szybko.

Powolna wersja przechodzi przez wiele danych, testując je, aby sprawdzić, czy to jest to, czego chcesz, zamiast szybko przeszukiwać dane i przeszukiwać tylko te wiersze, które prawdopodobnie rzeczywiście chcesz.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zoptymalizuj połączenia danych w JDBC na JTable

  2. MySQL JOIN z warunkami IF

  3. Potrzebujesz zapytania MySQL do wyboru z tabeli przechowującej pary klucz-wartość

  4. Jak naprawić błąd spowodowany nieładowaniem biblioteki libmysqlclient.15.dylib?

  5. Jak uruchomić serwer MySQL z wiersza poleceń w systemie Mac OS Lion?