Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MYSQL]teoria o uzywaniu polaczenia z baza
Forum PHP.pl > Forum > Przedszkole
elmozaur
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
exa
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.
elmozaur
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
zebupl
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
elmozaur
dziekuje wszystkim za zainteresowanie i pomoc.
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.