Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> optymalizacja wyników zapytania
karis
post
Post #1





Grupa: Zarejestrowani
Postów: 217
Pomógł: 2
Dołączył: 23.12.2008

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


czesc
mam pytanie co jest bardziej wydajnie:

to:

  1. $wynik = mysql_fetch_array($zapytanie);
  2. $licz = count($wynik);
  3. for($i=0; $i<$licz; $i++)
  4. {
  5. $tablica[] = $wynik;
  6. }
  7.  
  8. return $tablica;


czy

  1. while($wynik = mysql_fetch_array($zapytanie))
  2. {
  3. $tablica[] = $wynik;
  4. }
  5.  
  6. return $tablica;



i jak można jeszcze zoptymalizować wyniki zapytan, tak zeby przy dużej liczbie użytkowników nie sypnęło się coś.

dodam, że w swoim projekcie mam dużo zapytań mysql

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Zmierz microtime

Zastosuj paginację.


--------------------
Go to the top of the page
+Quote Post
karis
post
Post #3





Grupa: Zarejestrowani
Postów: 217
Pomógł: 2
Dołączył: 23.12.2008

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


z tym microtime to rozumiem, że mam wstawić na początku wywołania zapytania oraz na końcu i potem przyrost policzyć?


paginacje stosuję

coś jeszcze?
Go to the top of the page
+Quote Post
Crozin
post
Post #4





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Zacznijmy może od tego, że oba podane kody robią coś zupełnie innego...
Go to the top of the page
+Quote Post
flashdev
post
Post #5





Grupa: Zarejestrowani
Postów: 812
Pomógł: 117
Dołączył: 2.12.2008

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


Cytat(karis @ 8.08.2010, 12:38:56 ) *
czesc
mam pytanie co jest bardziej wydajnie:[...]
[/php]


To są nieznaczne różnice. Czasy nieporównywalnie małe w stosunku np. do dostępu do bazy danych. Myslę, że nie ma sensu sobie głowy takimi wątpliwościami zawracać.


Cytat(karis @ 8.08.2010, 12:38:56 ) *
z tym microtime to rozumiem, że mam wstawić na początku wywołania zapytania oraz na końcu i potem przyrost policzyć?


Przy pisaniu takich benchmarków możesz jeszcze dany kod wrzucić do pętli i wykonać N razy, żeby nie okazało się, że przy każdym uruchomieniu zmierzony czas jest na poziomie wartości niepewności pomiaru.


--------------------
Go to the top of the page
+Quote Post
Fifi209
post
Post #6





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Cytat(karis @ 8.08.2010, 13:43:47 ) *
z tym microtime to rozumiem, że mam wstawić na początku wywołania zapytania oraz na końcu i potem przyrost policzyć?

Oj tak yahoo.gif , najlepiej wrzuć w dużą pętlę, policzyć czasy i na końcu czas średni czy medianę jak kto woli

Cytat(karis @ 8.08.2010, 13:43:47 ) *
coś jeszcze?

Jeżeli będziesz przeszukiwał bazę to polecam założyć indeksy.

Cytat(Crozin @ 8.08.2010, 13:49:22 ) *
Zacznijmy może od tego, że oba podane kody robią coś zupełnie innego...

Cenne spostrzeżenie haha.gif


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 07:39