![]() |
![]() |
![]()
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 ? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 43 Pomógł: 0 Dołączył: 17.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
A jakie czasy miałaby funkcja glob ? 10 000 - czas wywołania php: 0.1951 100 000- czas wywołania php: 1.9520 wiec bije funkcje opendir na glowe (IMG:style_emoticons/default/smile.gif) ale ten test jest do 4 liter (IMG:style_emoticons/default/wink.gif) Nie wykonuje się w petli setek tysięcy zapytań bo to jest totalnie nieoptymalne i bez testu wiadomo, jak to się skonczy (IMG:style_emoticons/default/smile.gif) Zrób teraz inny test. Wstaw do bazy 100 tys rekordów a następnie wyszukaj z niej pliki zaczynające się na "test". Teraz utwórz w katalogu 100 tys plików a następnie przy pomocy opendir wyszukaj pliki zaczynające się na "test". jak bede mial chwile to zrobie, pogrubione to oczywiscie blad - chyba nie trzymasz tylu plikow w jednym katalogu ?(IMG:style_emoticons/default/biggrin.gif) jesli chodzi o katalogi to mam taka budowe _photo/3_pierwsze_cyfry_hash/hash - hash'a na dzien dobry znam bo jest zapisywany w tabeli galeria wiec ja musze tylko go otworzyc i sprawdzic zawartosc... Ten post edytował Kazaan 4.08.2011, 16:45:49 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 03:20 |