Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Co jest szybsze?
!*!
post
Post #1





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Pytanie może dość banalne ale, mam ok 20 000 rekorodów każdy z nich ma folder, co jest szybsze w odczycie danych? Sprawdzenie rekordu w mysql czy sprawdzenie czy folder istnieje? Np. w przypadku istnienia folderu dopiero później łączę się z bazą w celu odczytu innych danych.

Ten post edytował !*! 7.10.2008, 10:54:42
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
elpaw
post
Post #2





Grupa: Zarejestrowani
Postów: 5
Pomógł: 1
Dołączył: 2.10.2008
Skąd: wertykalne

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


W większości przypadków baza będzie szybsza.
Go to the top of the page
+Quote Post
drPayton
post
Post #3





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


Info: 20000 folderów i tyleż odpowiadających im rekordów w bazie danych.
Test: Sprawdzenie istnienia folderu o określonej nazwie.
Kod testowy:
  1. <?php
  2. mysql_connect('****', '****', '****');
  3.  
  4. echo '<br />Sprawdzenie istnienia folderu o określonej nazwie:';
  5.  
  6. $start = microtime();
  7. mysql_query("SELECT id FROM test_big_table WHERE folder = 'folder_12345'");
  8. echo '<br /><br />Baza danych: ' . (microtime() - $start) . ' sekund(y)';
  9.  
  10. $start2 = microtime();
  11. is_dir('folders/folder_12345');
  12. echo '<br />System plików: ' . (microtime() - $start2) . ' sekund(y)';
  13. ?>


Wyniki:

1. Brak indeksów w bazie:
Kod
Baza danych: 0.016986 sekund(y)
System plików: 0.001505 sekund(y)

Kod
Baza danych: 0.01789 sekund(y)
System plików: 0.001337 sekund(y)

Kod
Baza danych: 0.016653 sekund(y)
System plików: 0.00139 sekund(y)

Kod
Baza danych: 0.017132 sekund(y)
System plików: 0.001288 sekund(y)

Kod
Baza danych: 0.01752 sekund(y)
System plików: 0.00128 sekund(y)


2. Założony indeks na polu zawierającym nazwę folderu:
Kod
Baza danych: 0.000307 sekund(y)
System plików: 0.001344 sekund(y)

Kod
Baza danych: 0.000303 sekund(y)
System plików: 0.001227 sekund(y)

Kod
Baza danych: 0.000392 sekund(y)
System plików: 0.001147 sekund(y)

Kod
Baza danych: 0.000427 sekund(y)
System plików: 0.001406 sekund(y)

Kod
Baza danych: 0.000359 sekund(y)
System plików: 0.001149 sekund(y)



Wnioski - zakładając odpowiedni indeks baza danych jest o wiele szybsza (IMG:http://forum.php.pl/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: 10.10.2025 - 07:08