Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Ilość zapytań do bazy MySQL, Pytania dotyczące wydajności
blaskognia
post
Post #1





Grupa: Zablokowani
Postów: 42
Pomógł: 0
Dołączył: 24.01.2006

Ostrzeżenie: (30%)
XX---


Czy ilość zapytań do bazy MySQL bardzo wpływa na wydajność? Chodzi mi o różnice w czasie generowania strony dla np. 1-2, a 8-10 zapytań.
Jak zmniejszyć ich ilość?

I jeszcze jedno... jeśli wstawię takie zapytanie:

  1. <?php
  2. $zapytanie = "SELECT * FROM logowanie";
  3. $wykonaj = mysql_query ($zapytanie);
  4. ?>


Czy nastepnie korzystając zdanych z tabeli logowanie skrypt nie wykonuje zapytań do bazy, a korzysta z danych raz pobranych?

Dalej są np takie skrypty:

  1. <?php
  2. while($wiersz=mysql_fetch_array ($wykonaj))
  3.  
  4. Login: ".$wiersz['login']."
  5. ?>


Ten post edytował blaskognia 28.01.2006, 17:47:08
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
hwao
post
Post #2


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




Jakie Query taki czas... pomiez sobie czasy.

Generalnie im mniej zapytan tym lepiej, niektorzy lacza pare zapytan w jedno zeby bylo szybciej.
Go to the top of the page
+Quote Post
blaskognia
post
Post #3





Grupa: Zablokowani
Postów: 42
Pomógł: 0
Dołączył: 24.01.2006

Ostrzeżenie: (30%)
XX---


W jaki sposób łączą? I "jakie" tzn. jakie?
Go to the top of the page
+Quote Post
hwao
post
Post #4


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




Ad 1. nie kazde sie da... join'y itp zalezy jakie zapytanie
Ad 2. sprawdzasz sobie czas, dla kazdego jest inne

Mozna tez stosowac cache zapytan do bazy danych.
Go to the top of the page
+Quote Post
Dandelion
post
Post #5





Grupa: Zarejestrowani
Postów: 169
Pomógł: 0
Dołączył: 27.01.2006

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


  1. <?php
  2. $zapytanie = "SELECT * FROM logowanie";
  3. $wykonaj = mysql_query ($zapytanie);
  4. ?>


to lepiej zapisac jako


mysql_query("SELECT *".
"FROM logowanie".);

obejdzie sie wtedy bez 2 zmiennych moglem cos pokrecic wiec wysylam cie do artykulu w ktorym jest to opisane

http://webcity.pl/webcity/artykuly.php/t/37
Go to the top of the page
+Quote Post
ActivePlayer
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 1 224
Pomógł: 40
Dołączył: 6.07.2004
Skąd: Wuppertal

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


@Dandelion mieszasz. do tego nie uzyles bbcode.

aby zmierzyć czas wykonania tego zapytania musisz swój przykład:
  1. <?php
  2. $zapytanie = "SELECT * FROM logowanie";
  3. $wykonaj = mysql_query ($zapytanie);
  4. ?>

zapoatrzyć w pare funkcji które zmierzą czas. robi sie to mniejwięcej tak, ze pobierasz czas przed, oraz po zapytaniu, odejmujesz pierwszy od drugiego, i masz czas jaki był potrzebny na wykonanie zapytania. pare przykładów jest chyba na microtime w komentarzach. poszukaj. co do tego co pisał Dandelion:

php w twoim przykładzie, najpierw tworzy zmienną, więc musi przydzielić jakąś pamięć na jego zawartość, co związane jest ze spadkiem wydajnosci aczkolwiek ten spadek wydajnośći jest znikomy. skup się na zoptymalizowaniu zapytań, dodaniu indeksów w potrzebnych miejscach, usunięciu niepotrzebnych pętli, zabezpieczeniu danych przychodzących z zewnątrz.
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: 21.08.2025 - 18:03