Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MYSQL]teoria o uzywaniu polaczenia z baza
elmozaur
post 31.10.2008, 22:53:55
Post #1





Grupa: Zarejestrowani
Postów: 518
Pomógł: 18
Dołączył: 21.07.2008

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


Witajcie.
Czy moze ktos wyjasnic jak powinno sie stosowac polaczenia z baza

  1. <?php
  2. $uchwyt_list = mysql_connect($baza_host, $baza_user, $baza_pass);
  3.        @mysql_select_db($baza_baza, $uchwyt_list);    
  4.        $zapytanie_list = "SELECT * FROM sekcje_list";
  5.        $rezultat_list = mysql_query($zapytanie_list, $uchwyt_list);
  6.            while ($wiersz_list = mysql_fetch_array($rezultat_list))
  7.            {
  8.                //lista sekcji
  9.            }
  10.  
  11.        $uchwyt_gfx = mysql_connect($baza_host, $baza_user, $baza_pass);
  12.         @mysql_select_db($baza_baza, $uchwyt_gfx);    
  13.         $zapytanie_gfx = "SELECT * FROM gfx_list";
  14.         $rezultat_gfx = mysql_query($zapytanie_gfx, $uchwyt_gfx);
  15.             while ($wiersz_gfx = mysql_fetch_array($rezultat_gfx))
  16.             {
  17.                 //lista gfx
  18.             }
  19. ?>


itd...

W pewnym kodzie czesto odwoluje sie do bazy w celu tworzenia list, elementow strony konfiguracji i innych.
i teraz pytanie:
poniewaz wszystko dzieje sie w obrebie 1 bazy powstaje pytanie czy nie lepiej polaczenie i wybor bazy dac na poczatku strony/kodu w srodku dawac jedynie pytania i query a na koncu strony close connect?

czy moze lepiej zrobic tak ze przy kazdym zapytaniu robic polacznenie, zapytanie query uzyc danych z bazy i odrazu zamknac polaczenie ?
jak to wyglada od strony technicznej i wydajnosciowej ?
Moze ktos podzieli sie wiedza i doswiadczeniem
za info z gory dziekuje i pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
exa
post 31.10.2008, 23:54:27
Post #2





Grupa: Zarejestrowani
Postów: 6
Pomógł: 1
Dołączył: 31.10.2008

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


Koszt połączenia z bazą danych jest relatywnie wysoki i bezwzględnie wywołuj mysql_connect tylko raz (nie zamykaj połączenia po każdym query).

Z kolei zamykanie połączeń nie jest konieczne, bo skrypt po skończeniu pracy sam zamknie połączenie z bazą. Sens wcześniejszego zamknięcia połączenia jest wtedy, kiedy po ostatnim zapytaniu skrypt ma do przetworzenia sporo zasobów w relatywnie długim czasie.


--------------------
Twoja strona dusi się na hostingu współdzielonym? Potrzebujesz administratora do konfiguracji VPSa?
Mogę Ci pomóc, oferuję usługi korzystnej cenie.
Go to the top of the page
+Quote Post
elmozaur
post 1.11.2008, 12:48:21
Post #3





Grupa: Zarejestrowani
Postów: 518
Pomógł: 18
Dołączył: 21.07.2008

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


OK rozumie. A czy jest jakis limit zapytan i query przypadajacych na jedno polaczenie ?

pytam bo napisalem rozne funkcje sortujaco porzadkujace ktore tworza wielopoziomowe struktury kategorii np

wybierz nr kategorii nadrzednej z newsa
jesli istnieje to wybierz poprzednia kategorie
jesli istnieje to wybierz poprzednia kategorie
jesli istnieje to wybierz poprzednia kategorie
jesli istnieje to wybierz poprzednia kategorie
dodaj wynik do tablicy
dodaj wynik do tablicy
dodaj wynik do tablicy
dodajwynik do tablicy
przeczytaj tablice

w wyniku dzialania takich funkcji do bazy smiga wiele zapytan i wraca wiele odpowiedzi. Boje sie sytuacji ze powstanie jakis limit
Go to the top of the page
+Quote Post
zebupl
post 1.11.2008, 13:01:38
Post #4





Grupa: Zarejestrowani
Postów: 26
Pomógł: 2
Dołączył: 7.10.2008

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


elmozaur każdy strzał do bazy jest czasochłonny. Ma też znaczenie jakie są to zapytania czy prosty select czy jakieś JOIN-y i ilość zwracanych krotek. Lepiej jakbyś pobrał wszystkie dane i nie odwoływałbyś się za każdym razem do bazy.

To jest czysta teoria bo szczegółów nie znam.

pozdrawiam
munky
Go to the top of the page
+Quote Post
elmozaur
post 1.11.2008, 13:19:12
Post #5





Grupa: Zarejestrowani
Postów: 518
Pomógł: 18
Dołączył: 21.07.2008

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


dziekuje wszystkim za zainteresowanie i pomoc.
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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 08:36