![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 11.01.2006 Ostrzeżenie: (0%) ![]() ![]() |
Chciałbym sie dowiedzieć co dokładnie odpowiedzialne jest za samo wywołanie jakis danych z bazy? czy kod ktory tworzy zapytanie, tym samym wyciagajac juz na wstepie wszystkie dane? czy moze petla nastepujaca zaraz po nim?
Chodzi o to ze chce ograniczyć obciazenie SQL'a maxymalnie jak sie tylko da, ale nie wiem jak dokladnie to robic :| Prosze o pomoc, pozdrawiam |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 8.01.2006 Skąd: Zabrze Ostrzeżenie: (0%) ![]() ![]() |
Nie do końca wiem co rozumiesz przez maksymalne odciążenie SQLa, bo wykorzystuje się go m.in. po to żeby wszystko chodziło dużo szybciej. Co do samego wyciągnięcia danych z bazy, to wygląda to w zasadzie tak jak z wiersza poleceń bazy, ubrane w kilka dodatkowych fubkcji php. I tak np chcąc wyświetlić wszystkie imiona z tabeli UżYTKOWNICY w SQL, po podłączeniu się do bazy, napisałbyś coś na podobieństwo:
Podobnie wygląda to w php. Najpierw musisz się połączyć z bazą, podem wykonać zapytanie, którego wynik zostanie umieszczony w zmiennej i wyświetlić je na ekranie zwykłą funkcję echo. Np opierając się na bazie MySQL.
Powyższe oczywiście w uproszczeniu, z ominięciem przystosowania na wypadek błędu w zapytaniu, braku wyniuku, itp. Jak więc widzisz nie ma tu wielkich kombinacji. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 11.01.2006 Ostrzeżenie: (0%) ![]() ![]() |
Hehe... troszkę sie nie zrozumielismy... nie jestem takim laikiem, tylko chodzi o to ze mój serwer (tj. A64 3400+, 2GB ramu) ma tyle zapytan do sql ze poprostu nie wyrabia juz przy 400os online na stronie! Pracuje nad optymalizacją, ale co nowszego wymysle to jeszcze gorzej wszystko chodzi :| tak jak podales w drugim przykładzie: mam w zwiazku z tym pytanie czy dane po wyciagnieciu przez "$wynik = mysql_query("SELECT imie FROM uzytkownicy") " moge wyswietlic na innej podstronie w postaci petli while i echa wyników? - czy to wogóle mozliwe bo ja kombinowałem ale niestety to nie zdaje ogzaminu.
|
|
|
![]()
Post
#4
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Szukasz możliwości ulżenia serwerowi w złym miejscu.
To nie wyświetlanie pobranych danych jest wina obciążenie serwera. A poza tym nie da się inaczej niż w pętli. Twoim problemem sa same zapytania, wykonujesz. Wykonujesz ich za dużo? Za dużo czasu zabierają? 1. Zmniejsz ich ilość. Zarówno jak cache wyników jak i zrezygnowanie z kilku. Napewno się da. Może wybiarasz nadmiarowe dane gdzieś? 2. Popracuj nad optymalizxacją samych zapytań. Może da się napisać je inaczej? Jak chcesz poprawić wydolność serwera baz danych to po stronie baz a nie po stronie php. W php to już po ptokach ![]() |
|
|
-KaeRZet- |
![]()
Post
#5
|
Goście ![]() |
no i ja mam takie jedno pytanko odnosnie tego tematu
jezeli przykladowo mam 7 pol w tabeli i wyswietlam na stronie np. tylko 5 z nch. To czy duzym problemem jest ze pobieram zawsze i tak wszystkie
zamiast
czy to ma duży wpływ na szybkość, obciążenie bądź inne rzeczy ? |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 30.10.2005 Skąd: Jaworzno Ostrzeżenie: (0%) ![]() ![]() |
Cytat czy to ma duży wpływ na szybkość, obciążenie bądź inne rzeczy ? Zależy od wielkości aplikacji. Dużego wpływu na pewno nie będzie. Jednak różnica może się pojawić. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 11.01.2006 Ostrzeżenie: (0%) ![]() ![]() |
wracajac do watku wlasciwego... nad optymalizacja pracuje juz od miesiaca, ale naprawde kiepsko to widze... co było tylko możliwe to juz chyba zrobiłem... łącznie ze wspomnianymi szczegółami wpisywania nazw zamiast "*"... dosłownie zrobilem juz chyba wszystko :|
|
|
|
![]()
Post
#8
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
1. Sprawdź/policz ile zapytań jest wykonywanych podczas przeciętnego żadania strony;
2. Sprawdź/policz ile czasu zabierają zapytania. Możesz to policzyć przecież. Bedziesz miał miarodajny wskaźnik; 3. "(...) dosłownie zrobilem juz chyba wszystko :|" - czy stosujesz (o ile jest potrzeba, ale widzę, że jest) cache'owanie wyników zapytań (tych, z którymi miżna tak zrobić) ? |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 11.01.2006 Ostrzeżenie: (0%) ![]() ![]() |
owszem stosuje... jednak to przydaje sie głównie tam gdzie wyniki nie zmieniaja sie zbyt czesto a w tym wlasnie najwiekszy problem bo wiekszosc musi zmieniac sie prawie za kazdym odswierzeniem strony ;/
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.07.2025 - 09:31 |