Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> php odczyt z bazy czy xml, jak lepiej ? mniejsze obciążenie bazy...
niko
post
Post #1





Grupa: Zarejestrowani
Postów: 109
Pomógł: 0
Dołączył: 2.06.2005

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


witam

Mam taki dylemat smile.gif pisałem kiedys serwis gdzie miałem bardzo dużo odwolan do bazy smile.gif no i przez to wywalali mnie z home z nazwy i teraz z niemieckiego serwera ponieważ generuje podobno straszne obciążenia dla serwera - hmmm pomijając fakt ze są to serwery dedykowane i tak do konca nie wiadomo czy to ja czy to wzrastająca liczba jednostek na fizycznej maszynie - mam pytanie :

co lepiej robić ?

a) w nagłówku dać zapytania do bazy i utworzyc sobie zmienne używane potem w serwisie ?
cool.gif utworzyć sobie plik xml z danymi i zmiennymi które nie zmieniają sie zbyt często ?
c) czy moze jakoś można odchudzić zapytania do bazy ?

czy wariant b jest bezpieczny ? - np zrobie sobie w panelu administracyjnym skrypt który mi zczyta baze i powywleka zmienne które sie nie zmieniają zapisze to wszystko w xml a w stronie bede używal tylko na starcie generowanie tablicy z xml-a a potem w treści wyciąganie zmiennych z tablicy - czy ten xml jest bezpieczny ? - można jakoś zmienić prawa zapisu - poprzez skrypt ? ze np mozna odczytac ale zmodyfikowac juz nie ?

mieliście może podobny problem ? proszę o informację...
Go to the top of the page
+Quote Post
phpion
post
Post #2





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Myślę, że konieczna będzie przebudowa skryptów:
1) Zmiana zapytań - domyślam się, że generujesz zapytania w pętli, stąd takie obciążenie
2) Odpowiednia struktura tabel (np. indexy)
3) Cache'owanie wyników zapytań
Go to the top of the page
+Quote Post
niko
post
Post #3





Grupa: Zarejestrowani
Postów: 109
Pomógł: 0
Dołączył: 2.06.2005

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


a możesz mi wkleic po najprostrzym przykładzie dla każdego z Twoich punktów smile.gif albo linki gdzie moge o tym w j.polskim poczytac ? smile.gif zalezy mi na tym gdyz nie chciałbym powielac błedów przy nowej wersji tego serwisu smile.gif
Go to the top of the page
+Quote Post
phpion
post
Post #4





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




A nie możesz użyć wyszukiwarki?
Go to the top of the page
+Quote Post
franki01
post
Post #5





Grupa: Zarejestrowani
Postów: 508
Pomógł: 75
Dołączył: 2.11.2005
Skąd: Bydgoszcz

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


Jezeli to sa zapytania SELECT, to czasami przyda sie UNION.
Go to the top of the page
+Quote Post
niko
post
Post #6





Grupa: Zarejestrowani
Postów: 109
Pomógł: 0
Dołączył: 2.06.2005

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


ja robię tego typu zapytania:

  1. <?php
  2. $query_con = "select * from ".$prefix."pl_config where name!=''"; 
  3. $result_con = mysql_query($query_con);
  4. $count_con = mysql_num_rows($result_con);
  5. while($row = mysql_fetch_array($result_con))
  6. { 
  7. $us_name = $row["name"];
  8. $$us_name = $row["wartosc"];
  9. }
  10. ?>


tu akurat ustawianie zmiennych z bazy;

jakie union ?
Go to the top of the page
+Quote Post
franki01
post
Post #7





Grupa: Zarejestrowani
Postów: 508
Pomógł: 75
Dołączył: 2.11.2005
Skąd: Bydgoszcz

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


Cytat(niko @ 11.09.2007, 14:25:57 ) *
ja robię tego typu zapytania:

  1. <?php
  2. $query_con = "select * from ".$prefix."pl_config where name!=''"; 
  3. $result_con = mysql_query($query_con);
  4. $count_con = mysql_num_rows($result_con);
  5. while($row = mysql_fetch_array($result_con))
  6. { 
  7. $us_name = $row["name"];
  8. $$us_name = $row["wartosc"];
  9. }
  10. ?>


tu akurat ustawianie zmiennych z bazy;

jakie union ?



O UNION w googlach poszukaj. To jest laczenie wynikow... A ten przyklad jest bez sensu po widze tu tylko jedno zapytanie do mysql, wiec jaki problem :/

Chodzi o zapytania, ktore sa umieszczane w petli, np:

  1. <?php
  2. while(...) {
  3. $query = "SELECT * FROM `table`";
  4. $result = mysql_query($query);
  5.  
  6. // itd...
  7. }
  8. ?>
Go to the top of the page
+Quote Post
viraptor
post
Post #8





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 27.03.2006

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


Zrób sobie wrappery do tych funkcji - np. zamiast mysql_query odpalaj my_mysql_select_query():
  1. <?php
  2. function my_mysql_select_query($sql) {
  3. $jakiś_static_ilość_selectów++;
  4. zapis_do_logów("wykonuję: ".$sql);
  5. return mysql_query($sql);
  6. }
  7. ?>

odpal stronę, oglądnij statystyki - może na coś wpadniesz.
(odczyt z .xml zawsze będzie wolniejszy niż zapytania - szczególnie jeśli chodzi o dosyć stałe wartości)

Ten post edytował viraptor 12.09.2007, 00:15:00
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 - 10:01