2009-11-10 11 views

Odpowiedz

5

Najlepszym sposobem, aby odpowiedzieć na to pytanie, jest przeprowadzenie testu porównawczego.

+1

Prawdopodobnie racja - spróbuję tego. Dzięki! –

1

Mimo, że powinieneś po prostu wypróbować to sam, zakładam, że istnieje odpowiedni indeks i konkluduję, że DB może to zrobić szybciej niż PHP, ponieważ jest zbudowany, żeby o tym wszystkim mówić.

Jednak może to sprowadzić się do opóźnień sieciowych, szybkości analizowania SQL vs PHP lub obciążenia bazy danych i procentu użycia pamięci.

0

Sprawdź to - profilowanie czegoś tak prostego, jak to powinno być trywialne.

Pamiętaj też, że bazy danych są zaprojektowane tak, aby obsługiwały dokładnie to zadanie, więc naturalnie będą w tym dobre. Nawet naiwna wyszukiwarka binarna ma tylko 17 porównań, więc elementy 25k nie są dużo. Prawdziwym problemem jest sortowanie, ale zostało to podbite na śmierć w ciągu ostatnich 60 lat.

0

To zależy. W mysql możesz użyć indeksowania, które zwiększy szybkość, ale z php nie musisz wysyłać informacji przez net (jeśli baza danych mysql na innym serwerze).

0

Moja pierwsza myśl to szybsze wyszukiwanie z tablicami. Ale z drugiej strony to naprawdę zależy od kilku czynników:

  1. Jak tabela databasa zaprojektowany (to właściwie wykorzystywać indeksy, itp)
  2. Jak zapytanie zbudowany
  3. Bazy danych są zwykle dość zoptymalizowanych dla takich wyszukiwań.
  4. Jakiego rodzaju wyszukiwania przeprowadzasz w tablicy? Istnieje kilka rodzajów wyszukiwań, które możesz wykonać. Najwolniejsze jest proste wyszukiwanie, w którym przechodzisz przez każdy wiersz, sprawdzając wartość, szybsze podejście jest wyszukiwaniem binarnym.

Podejrzewałem, że porównujesz instrukcję select wykonaną bezpośrednio w bazie danych i wyszukiwanie tablicy w php. Nie

+0

Hej Nikola, to jest dokładnie to, co bym robił - zasadniczo porównywanie ciągu uzyskanego z Select Statement w bazie danych do łańcucha uzyskanego z User-Input. Porównuję to do funkcji array_search w PHP –

0

MySQL jest zbudowany tak, aby skutecznie sortować i przeszukiwać duże ilości danych, takich jak ta. Jest to szczególnie ważne, gdy szukasz klucza, ponieważ MySQL indeksuje klucze podstawowe w tabeli.

1

Jedna rzecz, o której należy pamiętać: Jeśli twoje wyszukiwanie intensywnie korzysta z procesora w bazie danych, warto zrobić to w PHP, nawet jeśli nie jest tak szybkie. Zazwyczaj łatwiej jest dodawać serwery WWW niż serwery baz danych podczas skalowania.

Powiązane problemy