Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] testy zapytań vs file_exists
Kazaan
post
Post #1





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 17.07.2008

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


Witam
Dzis z czystej ciekawosci testowałem pare rozwiazan dotyczacych zapytan do bazy - mam w bazie tabele z fotkami z nastepujacymi kolumnami - ID,NAZWA,HASH, gdzie hash to nazwa katalogu, teraz wpadlem na pomysl zeby olac wogole dodawanie fot do bazy tylko sprawdzac funkcja opendir(); zawartosc danego katalogu i na jego podstawie wylistowac informacje o plikach

przeprowadzilem testy na zapytaniach mysql oraz na funkcji opendir, i wyszło na to ze kozystniej uzyć funkcji opendir niz zrobic najprostrze zapytanie w formie: SELECT * FROM tabela WHERE id='' LIMIT 1

a oto wyniki czasowe:

MYSQL:

10 000 zapytan - czas wywołania php: 0.9567
100 000 zapytan - czas wywołania php: 9.5920

FUNKCJA OPENDIR

10 000 zapytan - czas wywołania php: 0.4993
100 000 zapytan - czas wywołania php: 4.9156

Dodatkowo z ciekawosci sprawdzilem funkcje file_exists (akurat to tez mi jest potrzebne) i wyszlo:

10 000 zapytan - czas wywołania php: 0.0348
100 000 zapytan - czas wywołania php: 0.3479

Co Wy na to ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Prezi2907
post
Post #2





Grupa: Zarejestrowani
Postów: 107
Pomógł: 4
Dołączył: 11.08.2010
Skąd: Inowrocław

Ostrzeżenie: (10%)
X----


Cytat(Kazaan @ 4.08.2011, 14:16:03 ) *
przeprowadzilem testy na zapytaniach mysql oraz na funkcji opendir, i wyszło na to ze kozystniej uzyć funkcji opendir niz zrobic najprostrze zapytanie w formie: SELECT * FROM tabela WHERE id='' LIMIT 1


Jak robisz zapytanie SELECT * FROM tabela WHERE id='' limit 1

To może być zły czas pomiaru. Zacznij od podania kolumn zamiast całościowego... Mimo że to 2-3 kolumny to różnica będzie na pewno.

Co do całości zapytanie do bazy zawsze będzie dłuższe. PHP po plik szybciej sprawdzi coś niż po bazie...

Jeden powód to, to że zapytanie leci do bazy tam jest przetwarzane a następnie wraca do PHP i tam dalej obrabiane.

A w na katalogach od razu masz gotowe wyniki (IMG:style_emoticons/default/smile.gif)

Ja osobiście staram się od obciążać bazę bo zrobić parsowanie pliku itp itd w niektórych przypadkach jest dużo wygodniejsze.

A co do czasów ogólnie to musiałbyś tam władować z 300 tys rekordów i plików do folderów żeby tak na prawdę sprawdzić czasy i wydajność... (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 9.10.2025 - 19:22