Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL] Wydajne wyszukiwanie?
sexigrzes
post
Post #1





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 21.04.2010

Ostrzeżenie: (0%)
-----


Przyszedł czas kiedy muszę zrobić wyszukiwarkę.

Zawsze korzystałem (w pdo) z LIKE

  1. $zapytanie = $pdo -> query('SELECT * FROM firmy WHERE tytul Like "%'.$fraza.'%" ORDER BY ocena DESC');



Jednak przeglądając forum wiele osób zwracało uwagę na małą wydajność tego sposobu bo za bardzo obciąża bazę (powyższa fraza jest po tytule, a muszę jeszcze dorobić po słowach kluczowych).

Czy jest jakiś - alternatywny - dobry sposób na zrobienie wyszukiwarki? Jakaś specjalna klasa? Czy raczej muszę wykorzystać %LIKE%?


Pozdrawiam (:
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
CuteOne
post
Post #2





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

Ostrzeżenie: (0%)
-----


Poczytaj o Sphinx
Go to the top of the page
+Quote Post
Bags_Bunny
post
Post #3





Grupa: Zarejestrowani
Postów: 262
Pomógł: 39
Dołączył: 12.04.2004

Ostrzeżenie: (0%)
-----


CuteOne Cię rzuca na głęboką wodę wink.gif. Sugeruję na początek wyszukiwanie pełnotekstowe.
I nigdy, przenigdy nie używaj % lub _ na początku like, bo to uniemożliwia wykorzystanie indeksów.


--------------------
rm -rf /*
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 06:21