Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
Alternatywa dla SQL LIKE - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: Programowanie, Bazy danych (https://www.webmastertalk.pl/forum-programowanie-bazy-danych)
+--- Wątek: Alternatywa dla SQL LIKE (/thread-alternatywa-dla-sql-like)



Alternatywa dla SQL LIKE - R_Rafalsky - 02-01-2013

Witam,

Poszukuje alternatywy dla polecenia LIKE w SQL. LIKE jest ciężki i zamula już przy 600k rekordów. Macie jakieś pomysły?


RE: Alternatywa dla SQL LIKE - Pedro84 - 02-01-2013

Zacznijmy od tego czego potrzebujesz, wyszukiwarka? Indeksy pozakładane poprawnie?


RE: Alternatywa dla SQL LIKE - R_Rafalsky - 03-01-2013

Wyszukiwarka w stylu Quick Search poszukująca po name w kilku tabelach bazy danych. Wyszukiwany tekst rozwalamy na wyrazy dodając OR. Czyli
Kod:
SELECT * FROM tabela1 WHERE tabela1.name LIKE %string1% OR tabela2.name LIKE %string1% OR tabela3.name LIKE %string1% OR tabela3.name LIKE %string1% OR tabela1.name LIKE %string2% OR...

Wyszukiwanie rozpoczyna się od wpisania 3-4 znaków


RE: Alternatywa dla SQL LIKE - Pedro84 - 03-01-2013

1. Zmiana silnika bazy danych na MyISAM.
2. Przerzucenia tego na Lucene (najlepsze wyjście)
3. Prefixowanie zapytania, czyli usunięcie pierwszego %, w rezultacie masz 'string%'.

Innych pomysłów brak.


RE: Alternatywa dla SQL LIKE - R_Rafalsky - 03-01-2013

Trochę boli te MyISAM bo aplikacja cała gotowa i wykorzystuje klucze obce. No ale pomyślę i dam znać. Dzięki za podpowiedź