Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php & mysql] Zapytania SQL zastąpić przez for() ?
Forum PHP.pl > Forum > Przedszkole
Joachim Peters
Witam,

Ostatnio ciągle nurtuje mnie pytanie, co do wydajności mojego skryptu. Jestem początkujący, więc zwracam się do mądrzejszych smile.gif
Mam wykonywane 3 zapytania (select) do tej samej tabeli na jednej stronie, i zastanawiam się czy nie lepiej zastąpić to jednym zapytaniem sql, które wczytało by całą tą tabele (ok. 15 rekordów) i pózniej przy pomocy for() odpowiednio wyświetlić?
Jak będzie wydajniej?

Pozdrawiam
tansky
Wydajniej byłoby zawrzeć w zapytaniu do mysql-a warunek, na podstawie którego chcesz filtrować dane.
Joachim Peters
Może napisze jaśniej

  1. <?php
  2. $sql = "select * from tabela where kolumna_id > 10";
  3. $result = mysql_query($sql);
  4. dalsze instrukcje...
  5.  
  6. $sql = "select * from tabela where kolumna_type = 2";
  7. $result = mysql_query($sql);
  8. dalsze instrukcje...
  9.  
  10. $sql = "select * from tabela where kolumna_status = 1";
  11. $result = mysql_query($sql);
  12. dalsze instrukcje...
  13. ?>


czy

  1. <?php
  2. $sql = "select * from tabela";
  3. $result = mysql_query($sql);
  4. $row = mysql_fetch_array($result);
  5.  
  6. for($i = 0; $i < count($row); $i++)
  7. {
  8. if($row[$i]['kolumna_id'] > 10)
  9. {
  10. echo $row[$i]['kolumna_id'];
  11. }
  12. }
  13.  
  14. i dalej....
  15. ?>


co jest wydajniejsze?
JaRoPHP
Cytat(d@ro @ 12.03.2007, 19:13:00 ) *
Może napisze jaśniej
Dla mnie jaśniejszym wyjaśnieniem był post pierwszy smile.gif.

Przeważnie najlepszym rozwiązaniem jest minimalizacja zapytań do bazy danych (które są czasochłonne).

[EDIT]
Za pomocą funkcji microtime" title="Zobacz w manualu PHP" target="_manual możesz sprawdzić, jak długo wykonuje się skrypt (zobacz pierwszy przykład).
SongoQ
Twoj przyklad nie ma wplywu na wydajnosc sa to tak male wielkosci ze trudno bedzie odczuc co jest lepiej napisane, 15 rekordow to jest nic.
Joachim Peters
Czyli w takim przypadku to jest obojętne?

Kiedyś widziałem stronę, gdzie były podane szybkości funkcji z php itd., czy ktoś może zna adres?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.