[PHP][JavaScript] Które z rozwiązań autosuggesta będzie wydajniejsze ? |
[PHP][JavaScript] Które z rozwiązań autosuggesta będzie wydajniejsze ? |
8.08.2009, 11:36:40
Post
#1
|
|
Grupa: Zarejestrowani Postów: 215 Pomógł: 19 Dołączył: 24.12.2003 Skąd: Przemyśl Ostrzeżenie: (0%) |
Witam
Mam takie pytanie. Otóż wykorzystuję jednego z pluginów jQuery jako autosuggesta. Przykład ze strony tego plugina jes oparty na rozwiązaniu pobrania wszystkich rekordów z danej tabeli a następnie przelecenie po nich w pętli szukjąc za pomoca strpos co akurat u mnie w skrócie wyglądało by tak:
przeszukuję po dwóch polach: po numerze i tytule. Więc to jest pierwsze rozwiązanie. Natomiast ja bardziej się skłaniam do wyszukania odpowiadających fraz już przez samo zapytanie bazy czyli rozwiązanie jak poniżej w metodzie dbGetDocuments().
No i teraz pytanie któro z rozwiązań może być wydajniejsze. Zakładamy że baza to mysql, ilość rekordów tudno orzec ale załózmy np do 5000, oba pola typu varchar pewnie indeksowane, typ normal, wyszukwianie możliwe po wpisaniu przynajmniej jednej litery. Będe wdzięczny za sugestie No i co nikt mi nic nie podpowie w tym temacie ? -------------------- My mind is glowing ...
Jeśli pomogłem push the button :) |
|
|
8.08.2009, 12:02:28
Post
#2
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 2 Dołączył: 1.08.2009 Skąd: Katowice, Rybnik Ostrzeżenie: (0%) |
Drugie rozwiazanie jest bardziej wydajniejsze.
|
|
|
9.08.2009, 01:54:38
Post
#3
|
|
Grupa: Zarejestrowani Postów: 215 Pomógł: 19 Dołączył: 24.12.2003 Skąd: Przemyśl Ostrzeżenie: (0%) |
Drugie rozwiazanie jest bardziej wydajniejsze. No też mi się tak coś wydaje, szczególnie chyba jeśli będą indeksy choć jeszcze nie wiem na ile znaków, ale z drugiej strony konstrukcja like z parametrami po obu stronach zmiennej do najszybszych chyba też nie należy -------------------- My mind is glowing ...
Jeśli pomogłem push the button :) |
|
|
9.08.2009, 09:39:41
Post
#4
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 5 Dołączył: 13.07.2008 Skąd: Kalisz Ostrzeżenie: (0%) |
drugie lepsze i nie ma co się zastanawiać.
Zastanów się, lepiej robić zapytanie bez LIKE do bazy danych, pobierać wszystkie wyniki i później przetwarzać przez PHP, czy też od razu w bazie danych zadać LIKE i mieć gotowe wyniki. Baza danych zadziała szybciej bo jest dostosowana do szybkiego wyszukiwania nawet przez LIKE niż przetwarzanie PHP. -------------------- Więcej: blog.juszczak.org
|
|
|
Wersja Lo-Fi | Aktualny czas: 25.04.2024 - 10:08 |